Exemple #1
0
 def testPerFess(self):
     shield = blazon.Field()
     shield.tincture = blazon.PerPale(color1="argent", color2="gules")
     # Ditto
     self.assertTrue(shield.tincture.pieces is 2)
     self.assertTrue(HasOnlyTheColors(shield, ["white", "red"]))
     self.assertTrue(repr(shield) is not None)
Exemple #2
0
 def testInOrle(self):
     shield = blazon.Field("gules")
     bezants = blazon.ChargeGroup(9, blazon.Roundel("or"))
     bezants.arrangement = arrangement.InOrle()
     shield.charges.append(bezants)
     for charge in shield.charges:
         charge.arrange()
Exemple #3
0
 def testBogusByNumbers(self):
     shield = blazon.Field("vert")
     chargegroup = blazon.ChargeGroup(6, blazon.Roundel("argent"))
     chargegroup.arrangement = arrangement.ByNumbers()
     chargegroup.arrangement.setRows([1, 2, 3, 4])
     shield.charges.append(chargegroup)
     for charge in shield.charges:
         self.assertRaises(blazon.ArrangementError, charge.arrange)
Exemple #4
0
 def test2by4(self):
     shield = blazon.Field("sable")
     chargegroup = blazon.ChargeGroup(8, blazon.Annulet("or"))
     chargegroup.arrangement = arrangement.ByNumbers()
     chargegroup.arrangement.setRows([2, 2, 2, 2])
     shield.charges.append(chargegroup)
     for charge in shield.charges:
         charge.arrange()
Exemple #5
0
 def testPerPale(self):
     shield = blazon.Field()
     shield.tincture = blazon.PerPale(color1="vert", color2="sable")
     # Maybe it's silly to test for number of pieces, since it's used
     # only internally
     self.assertTrue(shield.tincture.pieces is 2)
     self.assertTrue(HasOnlyTheColors(shield, ["green", "black"]))
     self.assertTrue(repr(shield) is not None)
Exemple #6
0
 def testPily(self):
     shield = blazon.Field()
     # Not according to the Rule of Tincture, but who cares?
     shield.tincture = blazon.Chevronny(color1="azure", color2="vert")
     self.assertTrue(HasOnlyTheColors(shield, ["blue", "green"]))
     # Chevronny has 8 pieces like everything else, but is not
     # used in a very sensible way.
     self.assertTrue(shield.tincture.pieces is 8)
     self.assertTrue(repr(shield) is not None)
Exemple #7
0
 def test10Charges(self):
     """Test for ability to add *two* group of ten charges without errors."""
     shield = blazon.Field("sable")
     # Currently, this looks wrong, because the annulets end up
     # *on top of* the lozenges.
     shield.charges.append(blazon.ChargeGroup(10, blazon.Lozenge("argent")))
     shield.charges.append(blazon.ChargeGroup(10, blazon.Annulet("or")))
     for charge in shield.charges:
         charge.arrange()
Exemple #8
0
def p_blazon_2(p):
    "blazon : fulltreatment optcharges bordure chief"
    #    sys.stderr.write("top: %s %s %s %s\n"%
    #                     tuple(map(str,p[1:])))
    shield = blazon.Field()
    shield.tincture = p[1]
    if p[2]:
        shield.extendCharges(p[2])
    if p[3]:
        shield.addBordure(p[3])
    if p[4]:
        shield.addChief(p[4])
    p[0] = shield
    Globals.shield = shield
    return shield
Exemple #9
0
def p_blazon_2(p):
    "blazon : multitreatment optcharges"
    #    sys.stderr.write("top: %s %s %s %s\n"%
    #                     tuple(map(str,p[1:])))
    shield = blazon.Field()
    shield.tincture = p[1]
    if p[2]:
        # shield.extendCharges(p[2])
        ## The following should also be done for Chiefs, doesn't quite work yet
        justcharges = [i for i in p[2] if not isinstance(i, blazon.Bordure)]
        shield.extendCharges(justcharges)
        bord = [i for i in p[2] if isinstance(i, blazon.Bordure)]
        if bord:
            shield.addBordure(bord[0])
    p[0] = shield
    Globals.shield = shield
    return shield
Exemple #10
0
 def testInChief(self):
     shield = blazon.Field("gules")
     lozenge = blazon.Lozenge("or")
     lozenge.arrangement = arrangement.InChief()
     for charge in shield.charges:
         charge.arrange()
Exemple #11
0
 def testPily(self):
     shield = blazon.Field()
     shield.tincture = blazon.Pily(color1="or", color2="purpure")
     self.assertTrue(HasOnlyTheColors(shield, ["yellow", "purple"]))
     self.assertTrue(shield.tincture.pieces is 8)
     self.assertTrue(repr(shield) is not None)
Exemple #12
0
 def testPaly(self):
     shield = blazon.Field()
     shield.tincture = blazon.Paly(color1="sable", color2="or")
     self.assertTrue(HasOnlyTheColors(shield, ["black", "yellow"]))
     self.assertTrue(shield.tincture.pieces is 8)
     self.assertTrue(repr(shield) is not None)
Exemple #13
0
 def testTiercedInPairle(self):
     shield = blazon.Field()
     shield.tincture = blazon.PerPall(color1="vert", color2="azure", color3="gules")
     self.assertTrue(HasOnlyTheColors(shield, ["green", "blue", "red"]))
     self.assertTrue(repr(shield) is not None)
Exemple #14
0
 def testPerSaltire(self):
     shield = blazon.Field()
     shield.tincture = blazon.PerSaltire(color1="azure", color2="argent")
     self.assertTrue(HasOnlyTheColors(shield, ["blue", "white"]))
     self.assertTrue(repr(shield) is not None)
Exemple #15
0
 def testQuartered(self):
     shield = blazon.Field()
     shield.tincture = blazon.PerCross(color1="vert", color2="sable")
     self.assertTrue(HasOnlyTheColors(shield, ["green", "black"]))
     self.assertTrue(repr(shield) is not None)
Exemple #16
0
 def test10Charges(self):
     """Test for ability to add a group of ten charges without errors."""
     shield = blazon.Field("sable")
     shield.charges.append(blazon.ChargeGroup(10, blazon.Lozenge("argent")))
     for charge in shield.charges:
         charge.arrange()
Exemple #17
0
 def testAppend(self):
     """Test for correct behaviour when appending a charge to a field."""
     shield = blazon.Field("vert")
     shield.charges.append(blazon.Saltire("or", "plain"))
     self.assertEqual(len(shield.charges), 1)
     self.assertTrue(shield.charges[0].tincture.color is 'yellow')
Exemple #18
0
 def testGyronny(self):
     shield = blazon.Field()
     shield.tincture = blazon.Gyronny(color1="purpure", color2="argent")
     self.assertTrue(HasOnlyTheColors(shield, ["purple", "white"]))
     self.assertTrue(shield.tincture.pieces is 8)
     self.assertTrue(repr(shield) is not None)