Esempio n. 1
0
    def test_mdf_homes_rotated(self):
        # Todo: Which minimization is more important?
        variant = load_variant(
            """
            [homes]
            ONE=AAA,BBB
            TWO=BBB,CCC
            TRE=AAA,CCC
            [borders]
            AAA=AMY BBB CCC DDD
            BBB=AMY AAA CCC DDD
            CCC=AMY AAA BBB DDD
            DDD=AMY AAA BBB CCC
        """
        )

        ONE = variant.rep["ONE"]
        TWO = variant.rep["TWO"]
        TRE = variant.rep["TRE"]
        AAA = variant.rep["AAA"]
        BBB = variant.rep["BBB"]
        CCC = variant.rep["CCC"]

        centers = variant.mdf().fold()[2][0]
        single_provs = [[[ONE, TRE], AAA], [[ONE, TWO], BBB], [[TRE, TWO], CCC]]
        single_pows = [[ONE, AAA, BBB], [TRE, AAA, CCC], [TWO, BBB, CCC]]

        self.assertContains([single_provs, single_pows], centers)
Esempio n. 2
0
    def test_missing_UNO(self):
        # Map can define maps with no non-home center clause in the MDF.
        variant = load_variant(
            """
            [homes]
            ONE=AAA
            TWO=BBB
            TRE=CCC
            [borders]
            AAA=AMY BBB CCC DDD
            BBB=AMY AAA CCC DDD
            CCC=AMY AAA BBB DDD
            DDD=AMY AAA BBB CCC
        """
        )

        ONE = variant.rep["ONE"]
        TWO = variant.rep["TWO"]
        TRE = variant.rep["TRE"]
        AAA = variant.rep["AAA"]
        BBB = variant.rep["BBB"]
        CCC = variant.rep["CCC"]
        DDD = variant.rep["DDD"]
        mdf = MDF(ONE, TWO, TRE)(([ONE, AAA], [TWO, BBB], [TRE, CCC]), [DDD])(
            (AAA, [AMY, BBB, CCC, DDD]),
            (BBB, [AMY, AAA, CCC, DDD]),
            (CCC, [AMY, AAA, BBB, DDD]),
            (DDD, [AMY, AAA, BBB, CCC]),
        )

        game_map = Map(variant)
        msg = game_map.define(mdf)
        self.failIf(msg, msg)
Esempio n. 3
0
 def test_ownership_one(self):
     variant = load_variant(
         """
         [ownership]
         ONE=TWO
     """
     )
     self.failUnlessEqual(variant.ownership, {"ONE": ["TWO"]})
Esempio n. 4
0
 def test_season_loaded(self):
     variant = load_variant(
         """
         [variant]
         start=WIN 2000
     """
     )
     self.failUnlessEqual(variant.start, (WIN, 2000))
Esempio n. 5
0
 def test_rep_power(self):
     variant = load_variant(
         """
         [homes]
         ONE=TWO
     """
     )
     self.failUnlessEqual(variant.rep, {"ONE": 0x4100})
Esempio n. 6
0
 def test_rep_bicoastal(self):
     variant = load_variant(
         """
         [borders]
         ONE=AMY TWO, (FLT NCS) FUR, (FLT SCS) SIX
     """
     )
     self.failUnlessEqual(variant.rep, {"ONE": 0x5600})
Esempio n. 7
0
 def test_rep_sea(self):
     variant = load_variant(
         """
         [borders]
         ONE=FLT TWO
     """
     )
     self.failUnlessEqual(variant.rep, {"ONE": 0x5200})
Esempio n. 8
0
 def test_rep_inland(self):
     variant = load_variant(
         """
         [borders]
         ONE=AMY TWO
     """
     )
     self.failUnlessEqual(variant.rep, {"ONE": 0x5000})
Esempio n. 9
0
 def test_position_spaces(self):
     variant = load_variant(
         """
         [positions]
         ONE=AMY TWO, AMY TRE, FLT FUR
     """
     )
     self.failUnlessEqual(variant.position, {"ONE": ["AMY TWO", "AMY TRE", "FLT FUR"]})
Esempio n. 10
0
 def test_position_comma(self):
     variant = load_variant(
         """
         [positions]
         ONE=AMY TWO,FLT TRE,
     """
     )
     self.failUnlessEqual(variant.position, {"ONE": ["AMY TWO", "FLT TRE"]})
Esempio n. 11
0
 def test_position_empty(self):
     variant = load_variant(
         """
         [positions]
         ONE=
     """
     )
     self.failUnlessEqual(variant.position, {"ONE": []})
Esempio n. 12
0
 def test_position_one(self):
     variant = load_variant(
         """
         [positions]
         ONE=AMY TWO
     """
     )
     self.failUnlessEqual(variant.position, {"ONE": ["AMY TWO"]})
Esempio n. 13
0
 def test_ownership_spaces(self):
     variant = load_variant(
         """
         [ownership]
         ONE=TWO, TRE, FUR
     """
     )
     self.failUnlessEqual(variant.ownership, {"ONE": ["TWO", "TRE", "FUR"]})
Esempio n. 14
0
 def test_ownership_comma(self):
     variant = load_variant(
         """
         [ownership]
         ONE=TWO,TRE,
     """
     )
     self.failUnlessEqual(variant.ownership, {"ONE": ["TWO", "TRE"]})
Esempio n. 15
0
 def test_ownership_empty(self):
     variant = load_variant(
         """
         [ownership]
         ONE=
     """
     )
     self.failUnlessEqual(variant.ownership, {"ONE": []})
Esempio n. 16
0
 def test_borders_coastlines(self):
     variant = load_variant(
         """
         [borders]
         ONE=AMY TWO, (FLT SCS) TRE, (FLT NCS) FUR
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {AMY: "TWO", (FLT, SCS): "TRE", (FLT, NCS): "FUR"}})
Esempio n. 17
0
 def test_bordering_coastline(self):
     variant = load_variant(
         """
         [borders]
         ONE=FLT (TRE SCS)
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {FLT: "(TRE SCS)"}})
Esempio n. 18
0
 def test_borders_empty(self):
     variant = load_variant(
         """
         [borders]
         ONE=
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {}})
Esempio n. 19
0
 def test_mapname_loaded(self):
     variant = load_variant(
         """
         [variant]
         mapname=Something
     """
     )
     self.failUnlessEqual(variant.mapname, "Something")
Esempio n. 20
0
 def test_borders_army(self):
     variant = load_variant(
         """
         [borders]
         ONE=AMY TWO TRE FUR
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {AMY: "TWO TRE FUR"}})
Esempio n. 21
0
 def test_rep_coastal(self):
     variant = load_variant(
         """
         [borders]
         ONE=AMY TWO, FLT FUR
     """
     )
     self.failUnlessEqual(variant.rep, {"ONE": 0x5400})
Esempio n. 22
0
 def test_borders_swiss(self):
     variant = load_variant(
         """
         [borders]
         ONE=AMY
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {AMY: ""}})
Esempio n. 23
0
 def test_description_loaded(self):
     variant = load_variant(
         """
         [variant]
         description=Something
     """
     )
     self.failUnlessEqual(variant.description, "Something")
Esempio n. 24
0
 def test_borders_island(self):
     variant = load_variant(
         """
         [borders]
         ONE=AMY, FLT TWO
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {AMY: "", FLT: "TWO"}})
Esempio n. 25
0
 def test_judge_loaded(self):
     variant = load_variant(
         """
         [variant]
         judge=Something
     """
     )
     self.failUnlessEqual(variant.judge, "Something")
Esempio n. 26
0
 def test_borders_fleet(self):
     variant = load_variant(
         """
         [borders]
         ONE=FLT TWO TRE FUR
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {FLT: "TWO TRE FUR"}})
Esempio n. 27
0
 def test_mdf_borders_empty(self):
     variant = load_variant(
         """
         [borders]
     """
     )
     borders = variant.mdf().fold()[3]
     self.failUnlessEqual(borders, [])
Esempio n. 28
0
 def test_borders_lake(self):
     variant = load_variant(
         """
         [borders]
         ONE=FLT
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {FLT: ""}})
Esempio n. 29
0
 def test_powers_both(self):
     variant = load_variant(
         """
         [powers]
         ONE=name,adj
     """
     )
     self.failUnlessEqual(variant.powers, {"ONE": ("name", "adj")})
Esempio n. 30
0
 def test_borders_coastal(self):
     variant = load_variant(
         """
         [borders]
         ONE=AMY TWO, FLT TRE
     """
     )
     self.failUnlessEqual(variant.borders, {"ONE": {AMY: "TWO", FLT: "TRE"}})