Beispiel #1
0
 def addPair(self, gc1, value1, gc2, value2):
     mergeable = (not self.forceSubtableBreak_ and
                  self.classDef1_ is not None and
                  self.classDef1_.canAdd(gc1) and
                  self.classDef2_ is not None and
                  self.classDef2_.canAdd(gc2))
     if not mergeable:
         self.flush_()
         self.classDef1_ = otl.ClassDefBuilder(useClass0=True)
         self.classDef2_ = otl.ClassDefBuilder(useClass0=False)
         self.coverage_ = set()
         self.values_ = {}
     self.classDef1_.add(gc1)
     self.classDef2_.add(gc2)
     self.coverage_.update(gc1)
     self.values_[(gc1, gc2)] = (value1, value2)
Beispiel #2
0
 def test_build_usingClass0(self):
     b = builder.ClassDefBuilder(useClass0=True)
     b.add({"a", "b"})
     b.add({"c"})
     b.add({"e", "f", "g", "h"})
     cdef = b.build()
     self.assertIsInstance(cdef, otTables.ClassDef)
     self.assertEqual(cdef.classDefs, {"a": 1, "b": 1, "c": 2})
Beispiel #3
0
 def test_build_usingClass0(self):
     b = builder.ClassDefBuilder(useClass0=True)
     b.add({"aa", "bb"})
     b.add({"a", "b"})
     b.add({"c"})
     b.add({"e", "f", "g", "h"})
     cdef = b.build()
     assert isinstance(cdef, otTables.ClassDef)
     assert cdef.classDefs == {"a": 2, "b": 2, "c": 3, "aa": 1, "bb": 1}
Beispiel #4
0
 def test_canAdd(self):
     b = builder.ClassDefBuilder(useClass0=True)
     b.add({"a", "b", "c", "d"})
     b.add({"e", "f"})
     assert b.canAdd({"a", "b", "c", "d"})
     assert b.canAdd({"e", "f"})
     assert b.canAdd({"g", "h", "i"})
     assert not b.canAdd({"b", "c", "d"})
     assert not b.canAdd({"a", "b", "c", "d", "e", "f"})
     assert not b.canAdd({"d", "e", "f"})
     assert not b.canAdd({"f"})
 def test_canAdd(self):
     b = builder.ClassDefBuilder(useClass0=True)
     b.add({"a", "b", "c", "d"})
     b.add({"e", "f"})
     self.assertTrue(b.canAdd({"a", "b", "c", "d"}))
     self.assertTrue(b.canAdd({"e", "f"}))
     self.assertTrue(b.canAdd({"g", "h", "i"}))
     self.assertFalse(b.canAdd({"b", "c", "d"}))
     self.assertFalse(b.canAdd({"a", "b", "c", "d", "e", "f"}))
     self.assertFalse(b.canAdd({"d", "e", "f"}))
     self.assertFalse(b.canAdd({"f"}))