コード例 #1
0
ファイル: test_char.py プロジェクト: j-bernard/lgr-core
    def test_simple_hash(self):
        v1 = Variant([1])
        v2 = Variant([1], 'BLOCK')
        v3 = Variant([2])

        self.assertEqual(v1.__hash__(), v2.__hash__())
        self.assertNotEqual(v1.__hash__(), v3.__hash__())
コード例 #2
0
ファイル: test_char.py プロジェクト: g11r/lgr-core
 def test_hash_when_not_when(self):
     v1 = Variant([1], when='w-1')
     v2 = Variant([1], when='w-2')
     v3 = Variant([1], not_when='nw-1')
     v4 = Variant([1], not_when='nw-2')
     variants = [v1, v2, v3, v4]
     for (a, b) in itertools.product(variants, variants):
         if a is b:
             # 'Memory' equality: a and b point to the same object.
             continue
         self.assertNotEqual(a.__hash__(), b.__hash__())
コード例 #3
0
ファイル: test_char.py プロジェクト: g11r/lgr-core
    def test_get_variant(self):
        c = Char(0x002A)
        c.add_variant([0x0030], when='w1')
        c.add_variant([0x0031], when='w2')
        c.add_variant([0x0031], not_when='nw-1')

        variant = c.get_variant((0x031, ))
        expected_output = [
            Variant((0x0031, ), when='w2'),
            Variant((0x0031, ), not_when='nw-1')
        ]

        self.assertEqual(variant, expected_output)
コード例 #4
0
ファイル: test_char.py プロジェクト: j-bernard/lgr-core
    def test_get_variants(self):
        self.cd.add_char([0x002A])
        self.cd.add_variant([0x002A], [0x0030])
        self.cd.add_variant([0x002A], [0x0030], when='w1')
        self.cd.add_variant([0x002A], [0x0030], not_when='w1')
        self.cd.add_variant([0x002A], [0x0030], when='w1', not_when='nw-1')

        variants = self.cd.get_variants([0x002A])

        self.assertIsInstance(variants, types.GeneratorType)

        variant_list = list(variants)
        self.assertEqual(len(variant_list), 4)

        expected_output = [
            Variant((0x0030, )),
            Variant((0x0030, ), when='w1'),
            Variant((0x0030, ), not_when='w1'),
            Variant((0x0030, ), when='w1', not_when='nw-1')
        ]

        self.assertEqual(variant_list, expected_output)
コード例 #5
0
ファイル: test_char.py プロジェクト: j-bernard/lgr-core
 def test_equal_when_not_when(self):
     v1 = Variant([1], when='w-1')
     v2 = Variant([1], when='w-2')
     v3 = Variant([1], not_when='nw-1')
     v4 = Variant([1], not_when='nw-2')
     v5 = Variant([1], when='w-1', not_when='nw-1')
     v6 = Variant([1], when='w-2', not_when='nw-1')
     v7 = Variant([1], when='w-1', not_when='nw-2')
     v8 = Variant([1], when='w-2', not_when='nw-2')
     variants = [v1, v2, v3, v4, v5, v6, v7, v8]
     for (a, b) in itertools.product(variants, variants):
         if a is b:
             # 'Memory' equality: a and b point to the same object.
             continue
         self.assertNotEqual(a, b)