File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -208,6 +208,10 @@ type ArcTables(initTables:ResizeArray<ArcTable>) =
208208 SanityChecks.validateSheetIndex index false this.Tables
209209 this.Tables.[ index]
210210
211+ // - Table API - //
212+ member this.TryGetTable ( tableIdentifier : string ) =
213+ this.Tables |> Seq.tryFind( fun s -> s.Name = tableIdentifier)
214+
211215 // - Table API - //
212216 member this.GetTable ( name : string ) : ArcTable =
213217 findIndexByTableName name this.Tables
Original file line number Diff line number Diff line change @@ -162,6 +162,19 @@ let tests_member = testList "member" [
162162 let arctables = ArcTables( ResizeArray tableSeq)
163163 let _ = arctables.InitTable( " New Table!" )
164164 Expect.sequenceEqual arctables.TableNames [ " Table 1" ; " Table 2" ; " New Table!" ] " TableNames"
165+ testList " TryGetTable" [
166+ let expectedTable = ArcTable.init( " Table 1" )
167+ testCase " Should return some table" <| fun _ ->
168+ let tableSeq = [ ArcTable.init( " Table 1" ); ArcTable.init( " Table 2" )]
169+ let arctables = ArcTables( ResizeArray tableSeq)
170+ let t = Expect.wantSome ( arctables.TryGetTable( " Table 1" )) " Did not return some"
171+ Expect.equal t expectedTable " tryGetTable did not return expected table"
172+ testCase " Should return none" <| fun _ ->
173+ let tableSeq = [ ArcTable.init( " Table 1" ); ArcTable.init( " Table 2" )]
174+ let arctables = ArcTables( ResizeArray tableSeq)
175+ let t = arctables.TryGetTable( " Table 999999999" )
176+ Expect.isNone t " tryGetTable did not return none"
177+ ]
165178 testList " MoveTable" [
166179 testCase " Move to end" <| fun _ ->
167180 let actual = ResizeArray [ for i in 0 .. 5 do ArcTable.init( sprintf " Table %i " i)] |> ArcTables
You can’t perform that action at this time.
0 commit comments