Skip to content

Commit

Permalink
Merge pull request #566 from rafsaf/fix-breaking-army-line-format
Browse files Browse the repository at this point in the history
Fix broken lines format in army/defence after update in game
  • Loading branch information
rafsaf authored Nov 27, 2024
2 parents e8adb4a + d4c25f7 commit 3696b08
Show file tree
Hide file tree
Showing 17 changed files with 453 additions and 423 deletions.
8 changes: 7 additions & 1 deletion base/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,11 +166,14 @@ def clean_deff_troops(self):
evidence = basic.world_evidence(self.outline.world)

already_used_villages: dict[str, int] = {}
previous_army = basic.Defence(text_army="", evidence=evidence)

for i, text_line in enumerate(text.split("\r\n")):
army = basic.Defence(text_army=text_line, evidence=evidence)
try:
army.clean_init(villages, self.outline.ally_tribe_tag)
army.clean_init(
villages, self.outline.ally_tribe_tag, previous=previous_army
)
except basic.DefenceError as error:
if not self.first_error_message:
self.first_error_message = str(error)
Expand Down Expand Up @@ -204,6 +207,9 @@ def clean_deff_troops(self):
}
self.add_error("deff_troops", i) # type: ignore
continue

previous_army = army

if army.coord in already_used_villages:
already_used_villages[army.coord] += 1
if already_used_villages[army.coord] > 2:
Expand Down
62 changes: 31 additions & 31 deletions base/tests/test_forms/test_deff_troops_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,46 +26,46 @@ class TestArmy(TestCase):
"""Test for Army"""

def setUp(self):
self.text_off1 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off2 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff1 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff2 = "500|500,w drodze,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff3 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,"
self.text_off1 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off2 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff1 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff2 = "500|500,5,w drodze,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff3 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,"

self.text_off_bad1 = "500|50,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad2 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,0"
self.text_off_bad3 = "500|500,1000,1000,0,0,0,1000,0,0,0,,0,"
self.text_off_bad4 = "500|500,1000,1000,0,0,0,'xd',0,0,0,0,0,"
self.text_off_bad5 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_off_bad6 = "500|500,1000,1000,0,0,0,1000,0,0,0,"
self.text_off_bad7 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_off_bad8 = "500|200,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad9 = "500|0,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad1 = "500|50,5,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad2 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,0"
self.text_off_bad3 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,,0,"
self.text_off_bad4 = "500|500,5,1000,1000,0,0,0,'xd',0,0,0,0,0,"
self.text_off_bad5 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_off_bad6 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,"
self.text_off_bad7 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_off_bad8 = "500|200,5,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad9 = "500|0,5,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad10 = (
"500|500,1000,1000,0,0,0,1000,0,0,"
"500|500,5,1000,1000,0,0,0,1000,0,0,"
"0,0,500|0,1000,1000,0,0,0,1000,0,0,0,0,0,"
)
self.text_off_bad11 = " 500|500,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_off_bad12 = "500|500,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_off_bad11 = " 500|500,5,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_off_bad12 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_off_bad13 = "500|500 ,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_off_bad14 = " 500|500,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_off_bad14 = " 500|500,5,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad1 = "500|50,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad2 = "500|500,w drodze,1000,1000,0,0,0,1000,0,0,0,0"
self.text_deff_bad3 = "500|500,1000,1000,0,0,0,1000,0,0,0,,"
self.text_deff_bad4 = "500|500,w wiosce,1000,1000,0,0,0,'xd',0,0,0,0,"
self.text_deff_bad5 = "500|500,w drodze,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_deff_bad6 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,"
self.text_deff_bad7 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,0"
self.text_deff_bad8 = "500|200,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad9 = "500|0,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad2 = "500|500,5,w drodze,1000,1000,0,0,0,1000,0,0,0,0"
self.text_deff_bad3 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,,"
self.text_deff_bad4 = "500|500,5,w wiosce,1000,1000,0,0,0,'xd',0,0,0,0,"
self.text_deff_bad5 = "500|500,5,w drodze,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_deff_bad6 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,"
self.text_deff_bad7 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,0"
self.text_deff_bad8 = "500|200,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad9 = "500|0,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad10 = (
"500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
"500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
"500|0,1000,1000,0,0,0,1000,0,0,0,0,0,"
)
self.text_deff_bad11 = " 500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad12 = " 500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad13 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad14 = " 500|500 ,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad11 = " 500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad12 = " 500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad13 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad14 = " 500|500 ,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.server = models.Server.objects.create(
dns="testserver",
prefix="te",
Expand Down
66 changes: 33 additions & 33 deletions base/tests/test_forms/test_off_troops_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,46 +26,46 @@ class TestArmy(TestCase):
"""Test for Army"""

def setUp(self):
self.text_off1 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off2 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff1 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff2 = "500|500,w drodze,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff3 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,"
self.text_off1 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off2 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff1 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff2 = "500|500,5,w drodze,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff3 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,"

self.text_off_bad1 = "500|50,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad2 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,0"
self.text_off_bad3 = "500|500,1000,1000,0,0,0,1000,0,0,0,,0,"
self.text_off_bad4 = "500|500,1000,1000,0,0,0,'xd',0,0,0,0,0,"
self.text_off_bad5 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_off_bad6 = "500|500,1000,1000,0,0,0,1000,0,0,0,"
self.text_off_bad7 = "500|500,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_off_bad8 = "500|200,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad9 = "500|0,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad1 = "500|50,5,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad2 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,0"
self.text_off_bad3 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,,0,"
self.text_off_bad4 = "500|500,5,1000,1000,0,0,0,'xd',0,0,0,0,0,"
self.text_off_bad5 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_off_bad6 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,"
self.text_off_bad7 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_off_bad8 = "500|200,5,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad9 = "500|0,5,1000,1000,0,0,0,1000,0,0,0,0,0,"
self.text_off_bad10 = (
"500|500,1000,1000,0,0,0,1000,0,0,"
"500|500,5,1000,1000,0,0,0,1000,0,0,"
"0,0,500|0,1000,1000,0,0,0,1000,0,0,0,0,0,"
)
self.text_off_bad11 = " 500|500,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_off_bad12 = "500|500,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_off_bad13 = "500|500 ,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_off_bad14 = " 500|500,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad1 = "500|50,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad2 = "500|500,w drodze,1000,1000,0,0,0,1000,0,0,0,0"
self.text_deff_bad3 = "500|500,1000,1000,0,0,0,1000,0,0,0,,"
self.text_deff_bad4 = "500|500,w wiosce,1000,1000,0,0,0,'xd',0,0,0,0,"
self.text_deff_bad5 = "500|500,w drodze,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_deff_bad6 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,"
self.text_deff_bad7 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,0"
self.text_deff_bad8 = "500|200,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad9 = "500|0,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_off_bad11 = " 500|500,5,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_off_bad12 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_off_bad13 = "500|500 ,5,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_off_bad14 = " 500|500,5,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad1 = "500|50,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad2 = "500|500,5,w drodze,1000,1000,0,0,0,1000,0,0,0,0"
self.text_deff_bad3 = "500|500,5,1000,1000,0,0,0,1000,0,0,0,,"
self.text_deff_bad4 = "500|500,5,w wiosce,1000,1000,0,0,0,'xd',0,0,0,0,"
self.text_deff_bad5 = "500|500,5,w drodze,1000,1000,0,0,0,1000,0,0,0,0,0,0"
self.text_deff_bad6 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,"
self.text_deff_bad7 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,0"
self.text_deff_bad8 = "500|200,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad9 = "500|0,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad10 = (
"500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
"500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
"500|0,1000,1000,0,0,0,1000,0,0,0,0,0,"
)
self.text_deff_bad11 = " 500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad12 = " 500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad13 = "500|500,w wiosce,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad14 = " 500|500 ,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad11 = " 500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.text_deff_bad12 = " 500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad13 = "500|500,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0, "
self.text_deff_bad14 = " 500|500 ,5,w wiosce,1000,1000,0,0,0,1000,0,0,0,0,"
self.server = models.Server.objects.create(
dns="testserver",
prefix="te",
Expand Down
8 changes: 4 additions & 4 deletions base/tests/test_models/test_outline.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ def test_not_delete_all_weights_and_outline_times_and_update_overviews(self):

def test_weight_max_still_exists_but_is_updated_correctly_and_target_deleted(self):
outline = self.get_outline(add_result=True, test_world=True)
outline.off_troops = "102|102,100,100,7002,0,100,2802,0,0,350,100,0,0,0,0,0,"
outline.off_troops = "102|102,55,100,100,7002,0,100,2802,0,0,350,100,0,0,0,0,0,"
outline.initial_outline_targets = self.random_lower_string()
outline.initial_outline_fake_limit = 10
outline.save()
Expand Down Expand Up @@ -159,7 +159,7 @@ def test_weight_max_still_exists_but_is_updated_correctly_and_target_deleted(sel

def test_weight_max_ok_real_target_bad(self):
outline = self.get_outline(add_result=True, test_world=True)
outline.off_troops = "102|102,100,100,7002,0,100,2802,0,0,350,100,0,0,0,0,0,"
outline.off_troops = "102|102,55,100,100,7002,0,100,2802,0,0,350,100,0,0,0,0,0,"
outline.initial_outline_targets = "200|200:4:4"
outline.initial_outline_fakes = "201|201:4:4"
outline.initial_outline_ruins = "202|202:4:4"
Expand All @@ -181,7 +181,7 @@ def test_weight_max_ok_real_target_bad(self):

def test_weight_max_ok_fake_target_bad(self):
outline = self.get_outline(add_result=True, test_world=True)
outline.off_troops = "102|102,100,100,7002,0,100,2802,0,0,350,100,0,0,0,0,0,"
outline.off_troops = "102|102,55,100,100,7002,0,100,2802,0,0,350,100,0,0,0,0,0,"
outline.initial_outline_targets = "200|200:4:4"
outline.initial_outline_fakes = "201|201:4:4"
outline.initial_outline_ruins = "202|202:4:4"
Expand All @@ -203,7 +203,7 @@ def test_weight_max_ok_fake_target_bad(self):

def test_weight_max_ok_ruin_target_bad(self):
outline = self.get_outline(add_result=True, test_world=True)
outline.off_troops = "102|102,100,100,7002,0,100,2802,0,0,350,100,0,0,0,0,0,"
outline.off_troops = "102|102,55,100,100,7002,0,100,2802,0,0,350,100,0,0,0,0,0,"
outline.initial_outline_targets = "200|200:4:4"
outline.initial_outline_fakes = "201|201:4:4"
outline.initial_outline_ruins = "202|202:4:4"
Expand Down
24 changes: 12 additions & 12 deletions base/tests/test_utils/initial_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -451,20 +451,20 @@ def create_initial_data_write_outline():
players = []

TEXT = (
"500|500,0,0,10000,0,0,0,0,100,2,0,0,\r\n"
"500|501,0,0,190,0,0,0,0,100,0,0,0,\r\n"
"500|502,0,0,19500,0,0,0,0,100,0,0,0,\r\n"
"500|503,0,0,20100,0,0,0,0,100,0,0,0,\r\n"
"500|504,0,0,20000,0,0,0,0,100,4,0,0,\r\n"
"500|505,0,0,20000,0,0,0,0,100,2,0,0,"
"500|500,5<span class='grey'>.</span>803,0,0,10000,0,0,0,0,100,2,0,0,\r\n"
"500|501,5<span class='grey'>.</span>803,0,0,190,0,0,0,0,100,0,0,0,\r\n"
"500|502,5<span class='grey'>.</span>803,0,0,19500,0,0,0,0,100,0,0,0,\r\n"
"500|503,5<span class='grey'>.</span>803,0,0,20100,0,0,0,0,100,0,0,0,\r\n"
"500|504,5<span class='grey'>.</span>803,0,0,20000,0,0,0,0,100,4,0,0,\r\n"
"500|505,5<span class='grey'>.</span>803,0,0,20000,0,0,0,0,100,2,0,0,"
)
TEXT_DEFF = (
"500|500,w wiosce,0,0,10000,0,0,0,0,100,2,0,0,\r\n"
"500|501,w wiosce,0,0,190,0,0,0,0,100,0,0,0,\r\n"
"500|502,w wiosce,0,0,19500,0,0,0,0,100,0,0,0,\r\n"
"500|503,w wiosce,0,0,20100,0,0,0,0,100,0,0,0,\r\n"
"500|504,w wiosce,0,0,20000,0,0,0,0,100,4,0,0,\r\n"
"500|505,w wiosce,0,0,20000,0,0,0,0,100,2,0,0,"
"500|500,111111111111,w wiosce,0,0,10000,0,0,0,0,100,2,0,0,\r\n"
"500|501,111111111111,w wiosce,0,0,190,0,0,0,0,100,0,0,0,\r\n"
"500|502,111111111111,w wiosce,0,0,19500,0,0,0,0,100,0,0,0,\r\n"
"500|503,111111111111,w wiosce,0,0,20100,0,0,0,0,100,0,0,0,\r\n"
"500|504,111111111111,w wiosce,0,0,20000,0,0,0,0,100,4,0,0,\r\n"
"500|505,111111111111,w wiosce,0,0,20000,0,0,0,0,100,2,0,0,"
)

server = models.Server.objects.create(
Expand Down
Loading

0 comments on commit 3696b08

Please sign in to comment.