コード例 #1
0
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
 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
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
    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
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
    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
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
    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
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
    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
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
    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
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
 def setUp(self):
     self.mickey = Animal(u'Mickey', frozenset({'2'}), u'male',
                          frozenset({u'bla'}))
コード例 #8
0
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
class TestAnimal(ICNodeTest):
    attributes = ['Name', 'Tag', 'Sex', 'Notes']

    def setUp(self):
        self.mickey = Animal(u'Mickey', frozenset({'2'}), u'male',
                             frozenset({u'bla'}))

    def testCreate(self):
        self.assertEqual(self.mickey.Name, 'Mickey')
        self.assertEqual(self.mickey.Tag, {'2'})
        self.assertEqual(self.mickey.Sex, 'male')
        self.assertEqual(self.mickey.Notes, {'bla'})

    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))

    def testClone(self):
        animal = self.mickey.clone()
        for attr in self.attributes:
            if attr != 'Nosepokes':
                self.assertEqual(getattr(animal, attr),
                                 getattr(self.mickey, attr))

    def testEq(self):
        self.assertTrue(self.mickey == Animal.fromRow('Mickey', '2'))
        self.assertTrue(Animal.fromRow('Mickey', '2') == self.mickey)
        self.assertFalse(self.mickey == Animal.fromRow('Jerry', '2'))
        self.assertFalse(
            self.mickey == Animal.fromRow('Mickey', '2', Sex='female'))

        animal = Animal.fromRow(u'b\xf3br', '1')
        if sys.version_info < (3, 0):
            self.assertTrue(animal == 'b\xc3\xb3br')

        self.assertFalse(animal == 'bobr')

        self.assertTrue(animal == u'b\xf3br')
        self.assertFalse(animal == u'b\xc3\xb3br')

    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')

    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')

    def testGe(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.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')

    def testLt(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.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')

    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')

    def testHash(self):
        self.assertEqual(hash(self.mickey), hash('Mickey'))

    @unittest.skipIf(sys.version_info >= (3, 0),
                     'Python3: tested by .testUnicode()')
    def testStr(self):
        animal = Animal.fromRow(u'b\xf3br', '1')
        self.assertEqual(str(animal), 'b\xc3\xb3br')
        self.assertIsInstance(str(animal), str)

    def testUnicode(self):
        animal = Animal.fromRow(u'b\xf3br', '1')
        self.assertEqual(unicode(animal), u'b\xf3br')
        self.assertIsInstance(unicode(animal), unicode)

    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'})

    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) >')

    def testReadOnly(self):
        self.checkReadOnly(self.mickey)

    def testSlots(self):
        self.checkSlots(self.mickey)

    def testDel(self):
        self.checkDel(self.mickey)
コード例 #9
0
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
 def testUnicode(self):
     animal = Animal.fromRow(u'b\xf3br', '1')
     self.assertEqual(unicode(animal), u'b\xf3br')
     self.assertIsInstance(unicode(animal), unicode)
コード例 #10
0
ファイル: testICNodes.py プロジェクト: Neuroinflab/PyMICE
 def testStr(self):
     animal = Animal.fromRow(u'b\xf3br', '1')
     self.assertEqual(str(animal), 'b\xc3\xb3br')
     self.assertIsInstance(str(animal), str)