Skip to content

Commit

Permalink
added test cases for additional columns in jannocoalesce - currently …
Browse files Browse the repository at this point in the history
…failing
  • Loading branch information
nevrome committed Feb 21, 2024
1 parent 07fe33a commit 3769a4c
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions test/Poseidon/JannocoalesceSpec.hs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ jannoTargetRow =
in row {
jCountry = Just "Austria",
jSite = Just "Vienna",
jDateNote = Just "dating didn't work"
jDateNote = Just "dating didn't work",
jAdditionalColumns = CsvNamedRecord $ HM.fromList [
("AdditionalColumn2", "C")
]
}

jannoSourceRow :: JannoRow
Expand All @@ -33,7 +36,11 @@ jannoSourceRow =
jCountry = Just "Austria",
jSite = Just "Salzburg",
jLatitude = makeLatitude 30.0,
jLongitude = makeLongitude 30.0
jLongitude = makeLongitude 30.0,
jAdditionalColumns = CsvNamedRecord $ HM.fromList [
("AdditionalColumn1", "A"),
("AdditionalColumn2", "B")
]
}

jannoTargetRows :: [JannoRow]
Expand Down Expand Up @@ -62,30 +69,44 @@ testMergeSingleRow =
jGroupName merged `shouldBe` JannoList ["SamplePop"]
jLatitude merged `shouldBe` makeLatitude 30.0
jLongitude merged `shouldBe` makeLongitude 30.0
jAdditionalColumns merged `shouldBe` (CsvNamedRecord $ HM.fromList [
("AdditionalColumn1", "A"),
("AdditionalColumn2", "C")
])
it "should correctly merge without fields and override" $ do
merged <- testLog $ mergeRow jannoTargetRow jannoSourceRow AllJannoColumns True "Poseidon_ID" "Poseidon_ID"
jSite merged `shouldBe` Just "Salzburg"
jGroupName merged `shouldBe` JannoList ["SamplePop2"]
jLatitude merged `shouldBe` makeLatitude 30.0
jLongitude merged `shouldBe` makeLongitude 30.0
jAdditionalColumns merged `shouldBe` (CsvNamedRecord $ HM.fromList [
("AdditionalColumn1", "A"),
("AdditionalColumn2", "B")
])
it "should correctly merge with fields selection and no override" $ do
merged <- testLog $ mergeRow jannoTargetRow jannoSourceRow (IncludeJannoColumns ["Group_Name", "Latitude"]) False "Poseidon_ID" "Poseidon_ID"
jSite merged `shouldBe` Just "Vienna"
jGroupName merged `shouldBe` JannoList ["SamplePop"]
jLatitude merged `shouldBe` makeLatitude 30.0
jLongitude merged `shouldBe` Nothing
jAdditionalColumns merged `shouldBe` (CsvNamedRecord $ HM.fromList [])
it "should correctly merge with negative field selection and no override" $ do
merged <- testLog $ mergeRow jannoTargetRow jannoSourceRow (ExcludeJannoColumns ["Latitude"]) False "Poseidon_ID" "Poseidon_ID"
jSite merged `shouldBe` Just "Vienna"
jGroupName merged `shouldBe` JannoList ["SamplePop"]
jLatitude merged `shouldBe` Nothing
jLongitude merged `shouldBe` makeLongitude 30.0
jAdditionalColumns merged `shouldBe` (CsvNamedRecord $ HM.fromList [
("AdditionalColumn1", "A"),
("AdditionalColumn2", "C")
])
it "should correctly merge with fields and override" $ do
merged <- testLog $ mergeRow jannoTargetRow jannoSourceRow (IncludeJannoColumns ["Group_Name", "Latitude"]) True "Poseidon_ID" "Poseidon_ID"
jSite merged `shouldBe` Just "Vienna"
jGroupName merged `shouldBe` JannoList ["SamplePop2"]
jLatitude merged `shouldBe` makeLatitude 30.0
jLongitude merged `shouldBe` Nothing
jAdditionalColumns merged `shouldBe` (CsvNamedRecord $ HM.fromList [])

testCoalesceMultipleRows :: Spec
testCoalesceMultipleRows = describe "Poseidon.Jannocoalesce.makeNewJannoRows" $ do
Expand Down

0 comments on commit 3769a4c

Please sign in to comment.