예제 #1
0
def issue7():
    whenCheck = DatetimeCheck('when', format="%m/%d/%Y")
    when = ET.fromstring('<when>10/12/2013</when>')
    print whenCheck(when)
    when_dict =  whenCheck.to_dict(when)
    print when_dict
    new_when = whenCheck.from_dict(when_dict)
    ET.dump( new_when )
    print whenCheck(new_when)

    event = XCheck('event')
    event.addattribute(whenCheck)

    party = ET.fromstring('<event when="10/12/2013" />')
    print "Checking Party:", event(party)
    party_as_dict = event.to_dict(party)
    print party_as_dict
예제 #2
0
    def setUp(self):
        #~ dude = XCheck('dude')
        nick = BoolCheck('nick', required=False)
        fname = TextCheck('first', min_length = 1)
        fname.addattribute(nick)



        lname = TextCheck('last', min_length = 1)
        code = IntCheck('code', min_occurs = 1, max_occurs = 5)
        code.addattribute(TextCheck('word', required=False) )
        name = XCheck('name', children=[fname, lname, code])

        emailtype = SelectionCheck('type', values = ['home','work', 'personal'])
        email = EmailCheck('email', max_occurs=2)
        email.addattribute(emailtype)
        street = TextCheck('street')
        city = TextCheck('city')

        address = XCheck('address', children = [street, city, email], max_occurs = 4)
        self.address = address
        dude = XCheck('dude', children=[name, address])
        idch = IntCheck('id', required=True)
        dude.addattribute(idch)

        elem = ET.fromstring("""<dude id="1">
        <name>
            <first nick="true">Josh</first>
            <last>English</last>
            <code>12</code>
            <code word="answer">42</code>
        </name>
        <address>
            <street>100 Main St</street>
            <city>Podunk</city>
            <email type="home">[email protected]</email>
            <email type="work">[email protected]</email>
        </address>
        <address>
            <street>318 West Nowhere Ln</street>
            <city>East Podunk</city>
            <email type="personal">[email protected]</email>
        </address>
        </dude>""")
        self.w = Wrap(dude, elem)
예제 #3
0
    def setUp(self):
        nick = BoolCheck('nick', required=False)
        fname = TextCheck('first', min_length = 1)
        fname.addattribute(nick)

        lname = TextCheck('last', min_length = 1)
        code = IntCheck('code', min_occurs = 1, max_occurs = 5)
        code.addattribute(TextCheck('word', required=False) )
        ch = XCheck('name', children=[fname, lname, code])
        idch = IntCheck('id', required=True)
        ch.addattribute(idch)
        elem = ET.fromstring("""<name id="1">
        <first nick="true">Josh</first>
        <last>English</last>
        <code>12</code>
        <code word="answer">42</code>
        </name>""")
        self.w = Wrap(ch, elem)
예제 #4
0
class Issue10Test(unittest.TestCase):
    def setUp(self):
        self.ch = XCheck('test')
        self.ch.addattribute(SelectionCheck('value', values=['a', 'b'], required=False))

    def tearDown(self):
        del self.ch

    def testGoodValues(self):
        self.assertTrue(self.ch('<test value="a" />'))
        self.assertTrue(self.ch('<test value="b" />'))

    def testBadValues(self):
        self.assertRaises(self.ch.error, self.ch, "<test value='c' />")

    def testMissing(self):
        self.assertTrue(self.ch('<test />'))

    def testPassingNone(self):

        v = self.ch.get('value')
##        v.logger.setLevel(logging.DEBUG)
        self.assertTrue(v(None))