def test_step_by_step(self): p1, p2 = self.p1, self.p2 p1.set_meta(PACKAGED_ROOT, mkdtemp(prefix="advene2_core_diff_")) p2.set_meta(PACKAGED_ROOT, mkdtemp(prefix="advene2_core_diff_")) fill_p2 = fill_package_step_by_step(p2) for i in fill_package_step_by_step(p1): diff = diff_packages(p1, p2) self.assertEqual(1, len(fix_diff(diff)), (i, diff)) diff = diff_packages(p2, p1) self.assertEqual(1, len(fix_diff(diff)), (i, diff)) fill_p2.next() diff = diff_packages(p1, p2) self.assertEqual([], fix_diff(diff), "%s\n%r" % (i, diff)) diff = diff_packages(p2, p1) self.assertEqual([], fix_diff(diff), "%s\n%r" % (i, diff))
def test_each_step(self): p1 = self.p1 for i in self.fill_package_step_by_step(): f = open(self.filename2, "w") self.serpar.serialize_to(p1, f) f.close() try: p2 = self.p2 = self.pkgcls(self.url) except ParserError, e: self.fail("ParserError: %s (%s)" % (e.args[0], self.filename2)) diff = self.fix_diff(diff_packages(p1, p2)) #if (diff != []): import pdb; pdb.set_trace() self.assertEqual([], diff, (i, diff, self.filename2)) p2.close()
p.create_media(m, u, foref) for a, m, b, e in La: p.create_annotation(a, p[m], b, e, "text/plain") measure_time("creating %s medias and %s annotations" %(NBM, NBA)) f = open("test/test_big.bxp", "w") measure_time() # take origin xml.serialize_to(p, f) measure_time("serializing XML") f.close() measure_time() # take origin q = Package("file:test/test_big.bxp") measure_time("parsing XML") diff = diff_packages(p, q) measure_time("checking parsed package") assert len(diff) == 0, diff f = open("test/test_big.bzp", "w") measure_time() # take origin zip.serialize_to(p, f) measure_time("serializing ZIP") f.close() measure_time() # take origin r = Package("file:test/test_big.bzp") measure_time("parsing ZIP") diff = diff_packages(p, r) measure_time("checking parsed package")
r2 = p1.create_resource("r2", "text/plain") L1 = p1.create_list("L1") L2 = p1.create_list("L2") L1[:] = [r1, L2, r2, L2,] L2[:] = [r1, L1, r2, L1,] # one of the two list will necessarily have forward-references in the # serialization f = open(self.filename2, "w") self.serpar.serialize_to(p1, f) f.close() try: p2 = self.p2 = self.pkgcls(self.url) except ParserError, e: self.fail("ParserError: %s (%s)" % (e.args[0], self.filename2)) diff = self.fix_diff(diff_packages(p1, p2)) self.assertEqual([], diff, (diff, self.filename2)) def test_forward_reference_in_tagged_imports(self): p1 = self.p1 i1 = p1.create_import("i1", self.pkgcls("urn:123", 1)) i2 = p1.create_import("i2", self.pkgcls("urn:456", 1)) p1.associate_tag(i1, "i2:t") p1.associate_tag(i2, "i1:t") # one of the two imports will necessarily have forward-references in the # serialization f = open(self.filename2, "w") self.serpar.serialize_to(p1, f) f.close() try:
def test_several_steps(self): p1, p2 = self.p1, self.p2 for i in fill_package_step_by_step(p1): self.assertNotEqual([], diff_packages(p1, p2), i) self.assertNotEqual([], diff_packages(p2, p1), i)
def test_empty(self): p1, p2 = self.p1, self.p2 self.assertEqual([], diff_packages(p1, p2)) self.assertEqual([], diff_packages(p2, p1))