Пример #1
0
 def testRepr(self):
     self.assertEqual(repr(self.mickey),
                      u'< Animal Mickey (male; Tag: 2) >')
     mouse = Animal.fromRow('Jerry', '1')
     self.assertEqual(repr(mouse), u'< Animal Jerry (Tag: 1) >')
     mouse.merge(Animal.fromRow('Jerry', ' 2'))
     self.assertEqual(repr(mouse), u'< Animal Jerry (Tags: 1, 2) >')
Пример #2
0
    def testNeq(self):
        self.assertTrue(self.mickey != Animal.fromRow('Jerry', '2'))
        self.assertTrue(
            self.mickey != Animal.fromRow('Mickey', '2', Sex='female'))
        self.assertFalse(self.mickey != Animal.fromRow('Mickey', '2'))

        animal = Animal(u'b\xf3br', '1')
        if sys.version_info < (3, 0):
            self.assertFalse(animal != 'b\xc3\xb3br')
        self.assertTrue(animal != 'bobr')
        self.assertFalse(animal != u'b\xf3br')
        self.assertTrue(animal != u'b\xc3\xb3br')
Пример #3
0
    def testFromRow(self):
        jerry = Animal.fromRow('Jerry', '1', None, None)
        self.checkAttributes(jerry, [('Name', 'Jerry', unicode),
                                     ('Tag', {'1'}, frozenset), 'Sex',
                                     ('Notes', frozenset(), frozenset)])
        self.assertTrue(allInstances(jerry.Tag, unicode))

        mickey = Animal.fromRow('Mickey', '2', 'male', 'note')
        self.checkAttributes(mickey, [('Name', 'Mickey', unicode),
                                      ('Tag', {'2'}, frozenset),
                                      ('Sex', 'male', unicode),
                                      ('Notes', {'note'}, frozenset)])
        self.assertTrue(allInstances(mickey.Tag, unicode))
        self.assertTrue(allInstances(mickey.Notes, unicode))
Пример #4
0
    def testMerge(self):
        mouse = Animal.fromRow('Mickey', '1')
        mouse.merge(self.mickey)
        self.assertEqual(mouse.Sex, 'male')
        self.assertEqual(mouse.Notes, {'bla'})
        self.assertEqual(mouse.Tag, {'1', '2'})
        self.assertIsInstance(mouse.Tag, frozenset)

        mouse.merge(Animal.fromRow('Mickey', '1'))
        self.assertEqual(mouse.Sex, 'male')

        self.assertRaises(
            Animal.DifferentMouseError,
            lambda: Animal.fromRow('Minnie', '1').merge(self.mickey))
        self.assertRaises(
            Animal.DifferentMouseError,
            lambda: Animal.fromRow('Mickey', '1', 'female').merge(self.mickey))

        mouse = Animal.fromRow('Mickey', '1', Notes='ble')
        mouse.merge(self.mickey)
        self.assertEqual(mouse.Notes, {'ble', 'bla'})
        mouse.merge(self.mickey)
        self.assertEqual(mouse.Notes, {'ble', 'bla'})
Пример #5
0
    def testLe(self):
        self.assertFalse(self.mickey <= Animal.fromRow('Jerry', '2'))
        self.assertTrue(Animal.fromRow('Jerry', '2') <= self.mickey)
        self.assertFalse(self.mickey <= 'Jerry')
        self.assertTrue(self.mickey <= 'Minnie')

        self.assertTrue(
            Animal.fromRow('Mickey', '2', Sex='Female') <= self.mickey)
        self.assertFalse(
            self.mickey <= Animal.fromRow('Mickey', '2', Sex='Female'))

        self.assertTrue(self.mickey <= Animal.fromRow('Mickey', '2'))
        self.assertTrue(Animal.fromRow('Mickey', '2') <= self.mickey)
        self.assertTrue(self.mickey <= 'Mickey')
        self.assertTrue(Animal(u'b\xf3br', '1') <= u'b\xf3br')
Пример #6
0
    def testGt(self):
        self.assertTrue(self.mickey > Animal.fromRow('Jerry', '2'))
        self.assertFalse(Animal.fromRow('Jerry', '2') > self.mickey)
        self.assertTrue(self.mickey > 'Jerry')
        self.assertFalse(self.mickey > 'Minnie')

        self.assertFalse(
            Animal.fromRow('Mickey', '2', Sex='Female') > self.mickey)
        self.assertTrue(
            self.mickey > Animal.fromRow('Mickey', '2', Sex='Female'))

        self.assertFalse(self.mickey > Animal.fromRow('Mickey', '2'))
        self.assertFalse(Animal.fromRow('Mickey', '2') > self.mickey)
        self.assertFalse(self.mickey > 'Mickey')
        self.assertFalse(Animal(u'b\xf3br', '1') > u'b\xf3br')
Пример #7
0
 def testUnicode(self):
     animal = Animal.fromRow(u'b\xf3br', '1')
     self.assertEqual(unicode(animal), u'b\xf3br')
     self.assertIsInstance(unicode(animal), unicode)
Пример #8
0
 def testStr(self):
     animal = Animal.fromRow(u'b\xf3br', '1')
     self.assertEqual(str(animal), 'b\xc3\xb3br')
     self.assertIsInstance(str(animal), str)