From 3d36d1d0254b8aeecc889a2a49cbcced458cbe9c Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sat, 25 Feb 2023 23:08:47 +0100 Subject: intermediate commit * Implement move artifact action * Fix widget update memory leak * update the highlights not during on each frame * do not update the unchanged label of a button * Allow to exit the game by pressing 'q' * Implement some cards from the magic set * Improve permanent formatting * Some tweaks to UnitAI code --- go/game/targets_test.go | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 go/game/targets_test.go (limited to 'go/game/targets_test.go') diff --git a/go/game/targets_test.go b/go/game/targets_test.go new file mode 100644 index 00000000..be1cdad9 --- /dev/null +++ b/go/game/targets_test.go @@ -0,0 +1,52 @@ +package game + +import ( + "strings" + "testing" +) + +func TestDisjunction(t *testing.T) { + mapDef := `map: |1- + HST + HSF + TSW +symbols: + T: tower + H: house + F: farm + S: street + W: deep water +` + s := NewState() + r := strings.NewReader(mapDef) + s.Map, _ = readMap(r) + + s.AddNewPlayer("player", NewDeck()) + p := s.Players[0] + + pioneer := NewUnit(NewCard("base/pioneer"), s.Map.TileAt(Position{1, 1}), p) + s.AddPermanent(pioneer) + + sword := newEquipmentFromPath("base/sword", s.Map.TileAt(Position{0, 1}), p) + s.AddPermanent(sword) + + fa := pioneer.FullActions[0] + targets := fa.Targets() + if err := targets.AddSelection(s.Map.TileAt(Position{1, 1})); err != nil { + t.Fatalf("TileAt(1,1) not a valid target for %v", fa) + } + + if err := targets.CheckTargets(s); err != nil { + t.Fatalf("TileAt(1,1) not a valid target for %v", fa) + } + + targets.ClearSelections() + + if err := targets.AddSelection(sword); err != nil { + t.Fatalf("%v not a valid target for %v", sword, fa) + } + + if err := targets.CheckTargets(s); err != nil { + t.Fatalf("%v not a valid target for %v", sword, fa) + } +} -- cgit v1.2.3