add unit tests
authorMatthieu Patou <mat@matws.net>
Tue, 9 Nov 2010 21:09:13 +0000 (00:09 +0300)
committerMatthieu Patou <mat@matws.net>
Tue, 9 Nov 2010 21:09:13 +0000 (00:09 +0300)
buildfarm/tests/test_data.py

index 66e4f06c97a8fdbfedfc4b7c72217d41250409ac..aff868a6bd94c45ec8fc62b9e09e775382a29106 100755 (executable)
@@ -250,3 +250,45 @@ CC_CHECKER STATUS: 2
         self.assertEquals(res.stages,
             [("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
 
+
+class BuildStatusTest(testtools.TestCase):
+
+    def test_cmp_equal(self):
+        a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
+        b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
+
+        self.assertEquals(a.cmp(b), 0)
+
+        self.assertEquals(data.BuildStatus().cmp(data.BuildStatus()), 0)
+
+    def test_cmp_bigger(self):
+        a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 3)])
+        b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
+        c = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3)])
+        d = data.BuildStatus([], ("super error"))
+        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], ("super error"))
+
+        # less stage means smaller, more error/higher error code means smaller as well
+        self.assertEquals(b.cmp(a), 1)
+
+        self.assertEquals(a.cmp(c), 1)
+
+        self.assertEquals(a.cmp(d), 1)
+
+        self.assertEquals(b.cmp(e), 1)
+
+    def test_cmp_smaller(self):
+        a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
+        b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)])
+        c = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3)])
+        d = data.BuildStatus([], ("super error"))
+        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], ("super error"))
+
+        # less stage means smaller, more error/higher error code means smaller as well
+        self.assertEquals(a.cmp(b), -1)
+
+        self.assertEquals(c.cmp(b), -1)
+
+        self.assertEquals(d.cmp(c), -1)
+
+        self.assertEquals(e.cmp(c), -1)