Skip to content

Commit

Permalink
Merge pull request #301 from nfdi4plants/spreadsheet
Browse files Browse the repository at this point in the history
Test and fix empty table io
  • Loading branch information
HLWeil authored Jan 30, 2024
2 parents 123f209 + 469dfca commit 69d87ab
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 3 deletions.
5 changes: 5 additions & 0 deletions src/ISA/ISA.Spreadsheet/AnnotationTable/ArcTable.fs
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,11 @@ let toFsWorksheet (table : ArcTable) =
/// This dictionary is used to add spaces at the end of duplicate headers.
let stringCount = System.Collections.Generic.Dictionary<string,string>()
let ws = FsWorksheet(table.Name)

// Cancel if there are no columns
if table.Columns.Length = 0 then ws
else

let columns =
table.Columns
|> List.ofArray
Expand Down
22 changes: 19 additions & 3 deletions tests/ISA/ISA.Spreadsheet.Tests/ArcTableTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ let private simpleTable =
)
]

let private emptyTable =
testList "emptyTable" [
let private valuelessTable =
testList "valuelessTable" [
let wsName = "MyWorksheet"
let ws =
initWorksheet wsName
Expand Down Expand Up @@ -363,14 +363,30 @@ let private writeOrder =
)
]

let private emptyTable =
testList "emptyTable" [
let name = "EmptyTable"
let t = ArcTable.init(name)
testCase "Write" (fun () ->
let sheet = ArcTable.toFsWorksheet t
Expect.equal name sheet.Name "Worksheet name did not match"
Expect.equal 0 sheet.Rows.Count "Row count should be 0"
)
testCase "Read" (fun () ->
let sheet = ArcTable.toFsWorksheet t
Expect.isNone (ArcTable.tryFromFsWorksheet sheet) "Table was not created"
)
]

let main =
testList "ArcTableTests" [
ensureCorrectTestHeaders
groupCols
simpleTable
mixedTable
ioTable
emptyTable
valuelessTable
deprecatedColumnTable
writeOrder
emptyTable
]

0 comments on commit 69d87ab

Please sign in to comment.