Beispiel #1
0
 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))
Beispiel #2
0
    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()
Beispiel #3
0
        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")
Beispiel #4
0
        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:
Beispiel #5
0
 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)
Beispiel #6
0
 def test_empty(self):
     p1, p2 = self.p1, self.p2
     self.assertEqual([], diff_packages(p1, p2))
     self.assertEqual([], diff_packages(p2, p1))