X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTSN%2FXML%2FOdds.hs;h=5bdf2ba702a5d04f65248cef505cb5d5680f7631;hb=073bbfba4165d4c01d29daaa7523c35c6cc7d114;hp=bedb6882b55d3581c8b8651f110a1b9fe335aa2c;hpb=32147474ba5c91452eeb532381f63e88c257a982;p=dead%2Fhtsn-import.git diff --git a/src/TSN/XML/Odds.hs b/src/TSN/XML/Odds.hs index bedb688..5bdf2ba 100644 --- a/src/TSN/XML/Odds.hs +++ b/src/TSN/XML/Odds.hs @@ -66,7 +66,11 @@ import Text.XML.HXT.Core ( import TSN.Codegen ( tsn_codegen_config ) import TSN.Database ( insert_or_select ) import TSN.DbImport ( DbImport(..), ImportResult(..), run_dbmigrate ) -import TSN.Picklers ( xp_date_padded, xp_tba_time, xp_time_stamp ) +import TSN.Picklers ( + xp_attr_option, + xp_date_padded, + xp_tba_time, + xp_time_stamp ) import TSN.Team ( FromXmlFkTeams(..), Team(..) ) import TSN.XmlImport ( XmlImport(..), XmlImportFkTeams(..) ) import Xml ( @@ -648,7 +652,7 @@ pickle_casino = xpElem "Casino" $ xpWrap (from_tuple, H.convert) $ xpTriple - (xpAttr "ClientID" $ xpOption xpInt) + (xpAttr "ClientID" xp_attr_option) (xpAttr "Name" $ xpOption xpText) (xpOption xpText) where @@ -805,7 +809,10 @@ test_pickle_of_unpickle_is_identity = testGroup "pickle-unpickle tests" "test/xml/Odds_XML-tba-game-time.xml", check "pickle composed with unpickle is the identity (empty casino)" - "test/xml/Odds_XML-empty-casino.xml" ] + "test/xml/Odds_XML-empty-casino.xml", + + check "pickle composed with unpickle is the identity (long import)" + "test/xml/Odds_XML-long-import.xml" ] where check desc path = testCase desc $ do (expected, actual) <- pickle_unpickle pickle_message path @@ -838,7 +845,10 @@ test_unpickle_succeeds = testGroup "unpickle tests" "test/xml/Odds_XML-tba-game-time.xml", check "unpickling succeeds (empty casino)" - "test/xml/Odds_XML-empty-casino.xml" ] + "test/xml/Odds_XML-empty-casino.xml", + + check "unpickling succeeds (long-import)" + "test/xml/Odds_XML-long-import.xml" ] where check desc path = testCase desc $ do actual <- unpickleable path pickle_message @@ -885,6 +895,10 @@ test_on_delete_cascade = testGroup "cascading delete tests" check "deleting odds deleted its children (empty casino)" "test/xml/Odds_XML-empty-casino.xml" 11 -- 5 casinos, 6 teams + , + check "deleting odds deleted its children (long import)" + "test/xml/Odds_XML-long-import.xml" + 219 -- 5 casinos, 214 teams ] where check desc path expected = testCase desc $ do