diff options
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r-- | archaeological_operations/tests.py | 281 |
1 files changed, 230 insertions, 51 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index bec490122..983165968 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -58,62 +58,241 @@ class ImportOperationTest(TestCase): default_town = Town.objects.create(numero_insee="12345", name="default_town") test_values = ( - ("1996 : XT:53,54,56,57,59,60,61,62", + (u"1996 : XT:53,54,56,57,59,60,61,62", {1996:[ - ("XT", "53"), - ("XT", "54"), - ("XT", "56"), - ("XT", "57"), - ("XT", "59"), - ("XT", "60"), - ("XT", "61"), - ("XT", "62"), - ]}), - ("AD:23", + ("XT", "53"), ("XT", "54"), ("XT", "56"), ("XT", "57"), + ("XT", "59"), ("XT", "60"), ("XT", "61"), ("XT", "62"), + ]} + ), + (u"AD:23", {None:[ - ("AD", "23") - ]}), - ("1961 :B1:227;", {} - ),("1982 CV:35;CV:36", {} - ),("E:24;E:25", {} - ),("B : 375, 376, 386, 387, 645, 646 / C : 412 à 415, 432 à 435, 622 / F : 120, 149, 150, 284, 287, 321 à 323", {} - ),("AD : 95, 96, 86, 87, 81, 252, AE : 58, AD : 115 à 132", {} - ),("XD:1 à 13, 24 à 28, 33 à 39, 50 à 52, 80, 83, 84 à 86, 259 à 261, 182, 225 ; XH:5 ; P:1640, 1888, 1889, 1890 ; R:1311, 1312, 1314, 1342, 1343, 1559 à 1569", {} - ),("BZ:2 à 5, 365 ; CD:88 à 104, 106, 108, 326", {} - ),("AV 118 à 125, 127, 132 à 137, 153, 398p, 399, 402; BI 27, 30, 32, 33, 188, 255, 256 à 258, 260, 284p, 294; BL 297", {} - ),("A : 904 à 906, 911 ; E:40, 41", {} - ),("1991 : BE:8, 12", {} - ),("AB 37 et 308", {} - ),("1979 : EM:1", {} - ),("B:448;B:449;B:450;B:451;B:452;B:455;B:456;B:457;B:458;B:459;B:1486;", {} - ),("AC : 72 à 81, 91 à 100, 197 / ZC:180 à 189", {} - ),("A : 1195, 1203 à 1208, 1338 ; ZC : 11 à 13, 16, 18, 22, 23, 25 à 31, 45, 82, 103, 107, 109 ; ZA : 2 à 8, 10, 11, 34 à 36, 49 à 41, 57, 58, Z:21", {} - ),("1983 D2 n° 458 et 459", {} - ),("ZS : 21p, 66", {} - ),("VV:166, 167, domaine public", {} - ),("Domaine public", {} - ),("Tranche 1 : AV:4 à 6, 18, 80, 104 / partiellement : 5 et 18", {} - ),(" AS:13 à 15, 17 à 19, 21 à 32, 34 à 45, 47 à 53, 69, 70, 82, 84 / CK:1, 24, 25, 29, 30, 37 à 43", {} - ),(" ZE, 16, 17, 83, 10, 18, 82, 9, 73, 76, 77, 79, 80, 84, 78 et 81", {} - ),(" ZN:37, 15, 35, 28, 29 / ZM:9, 73", {} - ),("A:26a, 26b, 27 / AB:95 / AK:4, 12, 20", {} - ),(" Tranche n°1 : YP:243, 12, 14 à 16, 18 à 26, DP / Tranche n°2 : YP:17, 307, 27, 308, 44 à 46, 683, BM:1, 250, 488 à 492", {} - ),(" 1987 : ZD: ?", {} - ),(" H : 106, 156, 158", {} - )) + ("AD", "23") + ]}), + (u"1961 :B1:227;", + {1961:[ + ("B1", '227') + ]} + ), + (u"1982 CV:35;CV:36", + {1982:[ + ("CV", "35"), ("CV", "36"), + ]} + ), + (u"E:24;E:25", + {None:[ + ("E", "24"), ("E", "25"), + ]} + ), + (u"B : 375, 376, 386, 387, 645, 646 / C : 412 à 415, 432 à 435, "\ + u"622 / F : 120, 149, 150, 284, 287, 321 à 323", + {None:[ + ("B", "375"), ("B", "376"), ("B", "386"), ("B", "387"), + ("B", "645"), ("B", "646"), + ("C", "412"), ("C", "413"), ("C", "414"), ("C", "415"), + ("C", "432"), ("C", "433"), ("C", "434"), ("C", "435"), + ("C", "622"), + ("F", "120"), ("F", "149"), ("F", "150"), ("F", "284"), + ("F", "287"), ("F", "321"), ("F", "322"), ("F", "323"), + ]} + ), + (u"AD : 95, 96, 86, 87, 81, 252, AE : 58, AD : 115 à 132", + {None:[ + ("AD", "95"), ("AD", "96"), ("AD", "86"), ("AD", "87"), + ("AD", "81"), ("AD", "252"), ("AD", "115"), ("AD", "116"), + ("AD", "117"), ("AD", "118"), ("AD", "119"), ("AD", "120"), + ("AD", "121"), ("AD", "122"), ("AD", "123"), ("AD", "124"), + ("AD", "125"), ("AD", "126"), ("AD", "127"), ("AD", "128"), + ("AD", "129"), ("AD", "130"), ("AD", "131"), ("AD", "132"), + ("AE", "58"), + ]} + ), + (u"XD:1 à 13, 24 à 28, 33 à 39, 50 à 52, 80, 83, 84 à 86, 259 à "\ + u"261, 182, 225 ; XH:5 ; P:1640, 1888, 1889, 1890 ; R:1311, "\ + u"1312, 1314,1342, 1343, 1559 à 1569", + {None:[ + ('XD', "1"), ('XD', "2"), ('XD', "3"), ('XD', "4"), ('XD', "5"), + ('XD', "6"), ('XD', "7"), ('XD', "8"), ('XD', "9"), + ('XD', "10"), ('XD', "11"), ('XD', "12"), ('XD', "13"), + ("XD", "24"), ("XD", "25"), ("XD", "26"), ("XD", "27"), + ("XD", "28"), ("XD", "33"), ("XD", "34"), ("XD", "35"), + ("XD", "36"), ("XD", "37"), ("XD", "38"), ("XD", "39"), + ("XD", "50"), ("XD", "51"), ("XD", "52"), ("XD", "80"), + ("XD", "83"), ("XD", "84"), ("XD", "85"), ("XD", "86"), + ("XD", "259"), ("XD", "260"), ("XD", "261"), ("XD", "182"), + ("XD", "225"), ("XH", "5"), + ("P", "1640"), ("P", "1888"), ("P", "1889"), ("P", "1890"), + ("R", "1311"), ("R", "1312"), ("R", "1314"), ("R", "1342"), + ("R", "1343"), ("R", "1559"), ("R", "1560"), ("R", "1561"), + ("R", "1562"), ("R", "1563"), ("R", "1564"), ("R", "1565"), + ("R", "1566"), ("R", "1567"), ("R", "1568"), ("R", "1569"), + ]} + ), + (u"BZ:2 à 5, 365 ; CD:88 à 104, 106, 108, 326", + {None:[ + ('BZ', '2'), ('BZ', '3'), ('BZ', '4'), ('BZ', '5'), ('BZ', '365'), + ('CD', '88'), ('CD', '89'), ('CD', '90'), ('CD', '91'), + ('CD', '92'), ('CD', '93'), ('CD', '94'), ('CD', '95'), + ('CD', '96'), ('CD', '97'), ('CD', '98'), ('CD', '99'), + ('CD', '100'), ('CD', '101'), ('CD', '102'), ('CD', '103'), + ('CD', '104'), ('CD', '106'), ('CD', '326'), ('CD', '108') + ]} + ), + (u"AV 118 à 125, 127, 132 à 137, 153, 398p, 399, 402; BI 27, 30, "\ + u"32, 33, 188, 255, 256 à 258, 260, 284p, 294; BL 297", + {None:[ + ('AV','118'), ('AV','119'), ('AV','120'), ('AV','121'), + ('AV','122'), ('AV','123'), ('AV','124'), ('AV','125'), + ('AV','127'), ('AV','132'), ('AV','133'), ('AV','134'), + ('AV','135'), ('AV','136'), ('AV','137'), ('AV','153'), + ('AV','398p'), ('AV','399'), ('AV','402'), + ('BI','27'), ('BI','30'), ('BI','32'), ('BI','33'), ('BI','188'), + ('BI','255'), ('BI','256'), ('BI','257'), ('BI','258'), + ('BI','260'), ('BI','284p'), ('BI','294'), + ('BL','297'), + ]} + ), + (u"A : 904 à 906, 911 ; E:40, 41", + {None:[ + ("A",'904'), ("A",'905'), ("A",'906'), ("A",'911'), + ("E", '40'), ("E", "41") + ]} + ), + (u"1991 : BE:8, 12", + {"1991":[ + ('BE', '8'), ('BE', '12'), + ]} + ), + (u"1979 : EM:1", + {"1979":[ + ('EM', '1') + ]}, + ), + (u"B:448;B:449;B:450;B:451;B:452;B:455;B:456;B:457;B:458;B:459;"\ + u"B:1486;", + {None:[ + ("B", "448"), ("B", "449"), ("B", "450"), ("B", "451"), + ("B", "452"), ("B", "455"), ("B", "456"), ("B", "457"), + ("B", "458"), ("B", "459"), ("B", "1486"), + ]} + ), + (u"AC : 72 à 81, 91 à 100, 197 / ZC:180 à 189", + {None:[ + ('AC', '72'), ('AC', '73'), ('AC', '74'), ('AC', '75'), + ('AC', '76'), ('AC', '77'), ('AC', '78'), ('AC', '79'), ('AC', + '80'), ('AC', '81'), ('AC', '91'), ('AC', '92'), ('AC', '93'), + ('AC', '94'), ('AC', '95'), ('AC', '96'), ('AC', '97'), ('AC', + '98'), ('AC', '99'), ('AC', '100'), ('AC', '197'), ('ZC', '180'), + ('ZC', '181'), ('ZC', '182'), ('ZC', '183'), ('ZC', '184'), + ('ZC', '185'), ('ZC', '186'), ('ZC', '187'), ('ZC', '188'), + ('ZC', '189'), + ]} + ), + (u"AB 37 et 308", + {None:[ + ('AB', '37'), ('AB', '308'), + ]} + ), + (u"1983 D2 n° 458 et 459", + {"1983":[ + ('D2', '458'), ('D2', '459'), + ]} + ), + (u"ZS : 21p, 66", + {None:[ + ('ZS', '21p'), ('ZS', '66'), + ]} + ), + (u"VV:166, 167, domaine public", + {None:[ + ('VV', '166'), ('VV', '167'), + ]} + ), + (u" AS:13 à 15, 17 à 19, 21 à 32, 34 à 45, 47 à 53, 69, 70, 82, "\ + u"84 / CK:1, 24, 25, 29, 30, 37 à 43", + {None:[ + ("AS", "13"), ("AS", "14"), ("AS", "15"), ("AS", "17"), ("AS", + "18"), ("AS", "19"), ("AS", "21"), ("AS", "22"), ("AS", "23"), + ("AS", "24"), ("AS", "25"), ("AS", "26"), ("AS", "27"), ("AS", + "28"), ("AS", "29"), ("AS", "30"), ("AS", "31"), ("AS", "32"), + ("AS", "34"), ("AS", "35"), ("AS", "36"), ("AS", "37"), ("AS", + "38"), ("AS", "39"), ("AS", "40"), ("AS", "41"), ("AS", "42"), + ("AS", "43"), ("AS", "44"), ("AS", "45"), ("AS", "47"), ("AS", + "48"), ("AS", "49"), ("AS", "50"), ("AS", "51"), ("AS", "52"), + ("AS", "53"), ('AS', "69"), ('AS', "70"), ('AS', "82"), ('AS', + "84"), + ('CK', "1"), ('CK', "24"), ('CK', "25"), ('CK', "29"), ('CK', + "30"), ('CK', "37"), ('CK', "38"), ('CK', "39"), ('CK', "40"), + ('CK', "41"), ('CK', "42"), ('CK', "43"), + ]} + ), + (u" ZN:37, 15, 35, 28, 29 / ZM:9, 73", + {None:[ + ("ZN", "37"), ("ZN", "15"), ("ZN", "35"), ("ZN", "28"), + ("ZN", "29"), ("ZM", "9"), ("ZM", "73"), + ]} + ), + (u" Tranche n°1 : YP:243, 12, 14 à 16, 18 à 26, DP / Tranche n°2 :"\ + u"YP:17, 307, 27, 308, 44 à 46, 683, BM:1, 250, 488 à 492", + {None:[ + ('YP', '243'), ('YP', '12'), ('YP', '14'), ('YP', '15'), ('YP', + '16'), ('YP', '18'), ('YP', '19'), ('YP', '20'), ('YP', '21'), + ('YP', '22'), ('YP', '23'), ('YP', '24'), ('YP', '25'), ('YP', + '26'), ('YP', '17'), ('YP', '27'), ('YP', '308'), ('YP', '44'), + ('YP', '45'), ('YP', '46'), ('YP', '683'), ('YP', '307'), + ('BM', '1'), ('BM', '250'), ('BM', '488'), ('BM', '489'), + ('BM', '490'), ('BM', '491'), ('BM', '492'), + ]} + ), + (u" H : 106, 156, 158", + {None:[ + ('H','106'), ('H','156'), ('H','158'), + ]} + ), + (u"Section YO : parcelles n° 19; 20", + {None:[ + ('YO','19'), ('YO','20'), + ]} + ), + (u"1991 :AI:23;19;20;21;22;181;AM:116;214;215;233;235", + {u"1991":[ + (u"AI", "19"), (u"AI", "20"), (u"AI", "21"), (u"AI", "22"), + (u"AI", "23"), (u"AI", "181"), + (u"AM", "116"), (u"AM", "214"), (u"AM", "215"), (u"AM", "233"), + (u"AM", "235"), + ] + }) + ) + #),(u"Domaine public", {} + #),(u"Tranche 1 : AV:4 à 6, 18, 80, 104 / partiellement : 5 et 18", {} + #),(u" 1987 : ZD: ?", {} + #),(u"A:26a, 26b, 27 / AB:95 / AK:4, 12, 20", {} for value, result in test_values: - parcels = parse_parcels("12345", value, None) - """ - self.assertTrue(parcels != []) + parcels = parse_parcels(value, "12345", None) + if not parcels and not result: + continue + self.assertTrue(parcels != [], + msg="No parcel parsed for \"%s\"" % value) parcels_copy = parcels[:] for year in result.keys(): - for parcel in parcels_copy: - if parcel.year != year: + for values in parcels_copy: + if values['year'] != year and \ + values['year'] != unicode(year): continue - self.assertTrue((parcel.section, parcel.parcel_number) - in result[year]) - parcel.pop(parcel.index(parcel)) + self.assertTrue((values['section'], values['parcel_number']) + in result[year], + msg="Section - Parcel number: \"%s - %s\" is not "\ + "in \"%s\"" % (values['section'], + values['parcel_number'], unicode(result[year]))) + parcels.pop(parcels.index(values)) + result[year].pop(result[year].index((values['section'], + values['parcel_number']))) # all parcels have been imported - self.assertEqual(parcels, []) - """ + self.assertEqual(parcels, [], msg="Parcel(s): \"%s\" haven't be "\ + "recognized in \"%s\"" % (str(parcels), + value)) + not_imported = [data for data in result.values() if data] + self.assertEqual(not_imported, [], msg="Parcel(s): \"%s\" haven't be "\ + "recognized in \"%s\"" % (str(not_imported), + value) + ) |