Skip to content

Commit

Permalink
Merge pull request #230 from nfdi4plants/developer_fixInvWrite
Browse files Browse the repository at this point in the history
ArcInvestigation writer fix
  • Loading branch information
HLWeil authored Oct 10, 2023
2 parents 5fa2559 + e07b0ef commit aa564a9
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/ISA/ISA.Spreadsheet/ArcInvestigation.fs
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ module ArcInvestigation =
yield SparseRow.fromValues [contactsLabel]
yield! Contacts.toRows (Some contactsLabelPrefix) (List.ofArray investigation.Contacts)

for study in (List.ofSeq investigation.Studies) do
for study in investigation.RegisteredStudies do
yield SparseRow.fromValues [studyLabel]
yield! Studies.toRows study None
}
Expand Down
14 changes: 14 additions & 0 deletions tests/ISA/ISA.Json.Tests/Json.Tests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1266,6 +1266,20 @@ let testInvestigationFile =

Expect.equal i.Remarks List.empty "Remark list should be an empty list."
)
testCase "OnlyConsiderRegisteredStudies" (fun () ->
let isa = ArcInvestigation("MyInvestigation")
let registeredStudyIdentifier = "RegisteredStudy"
let registeredStudy = ArcStudy(registeredStudyIdentifier)
let unregisteredStudyIdentifier = "UnregisteredStudy"
let unregisteredStudy = ArcStudy(unregisteredStudyIdentifier)

isa.AddStudy(unregisteredStudy)
isa.AddRegisteredStudy(registeredStudy)

let result = ArcInvestigation.toJsonString isa |> ArcInvestigation.fromJsonString

Expect.sequenceEqual result.RegisteredStudyIdentifiers [registeredStudyIdentifier] "Only the registered study should be written and read"
)
testCase "FullInvestigation" (fun () ->

let comment =
Expand Down
14 changes: 14 additions & 0 deletions tests/ISA/ISA.Spreadsheet.Tests/InvestigationFileTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,20 @@ let private testInvestigationWriterComponents =
wb.AddWorksheet(sheet)
Expect.isSome (wb.TryGetWorksheetByName "Investigation") "Worksheet should be added to workbook"
)
testCase "OnlyConsiderRegisteredStudies" (fun () ->
let isa = ArcInvestigation("MyInvestigation")
let registeredStudyIdentifier = "RegisteredStudy"
let registeredStudy = ArcStudy(registeredStudyIdentifier)
let unregisteredStudyIdentifier = "UnregisteredStudy"
let unregisteredStudy = ArcStudy(unregisteredStudyIdentifier)

isa.AddStudy(unregisteredStudy)
isa.AddRegisteredStudy(registeredStudy)

let result = ArcInvestigation.toFsWorkbook isa |> ArcInvestigation.fromFsWorkbook

Expect.sequenceEqual result.RegisteredStudyIdentifiers [registeredStudyIdentifier] "Only the registered study should be written and read"
)



Expand Down

0 comments on commit aa564a9

Please sign in to comment.