Example #1
0
    def testEq(self):
        # Packages with different names are not comparable
        a = Package("foo")
        b = Package("bar")
        self.assertRaises(TypeError, operator.eq, (a, b))

        # Only names set
        b = Package("foo")
        self.assertEqual(a, b)

        # Arch set
        a.arch = "x86_64"
        self.assertRaises(TypeError, operator.eq, (a, b))

        b.arch = "x86_64"
        self.assertEqual(a, b)

        # Version set
        a.version = "2.23.9"
        self.assertNotEqual(a, b)
        self.assertNotEqual(b, a)

        b.version = "2.23.9"
        self.assertEqual(a, b)

        # Release set
        a.release = "14_4.fc18"
        self.assertNotEqual(a, b)
        self.assertNotEqual(b, a)

        b.release = "14_4.fc18"
        self.assertEqual(a, b)

        # Epoch set
        a.epoch = "1"
        self.assertNotEqual(a, b)
        self.assertNotEqual(b, a)

        b.epoch = "1"
        self.assertEqual(a, b)
Example #2
0
    def testOrdering(self):
        a = Package("foo")
        b = Package("foo")

        self.assertFalse(a > b)
        self.assertFalse(a < b)
        self.assertTrue(a >= b)
        self.assertTrue(a <= b)

        # A has version, b doesn't
        a.version = "2.23.9_fc18"
        self.assertTrue(a > b)
        self.assertTrue(a >= b)
        self.assertFalse(a < b)
        self.assertFalse(a <= b)
        self.assertFalse(b > a)
        self.assertFalse(b >= a)
        self.assertTrue(b < a)
        self.assertTrue(b <= a)

        # A and b have equal versions
        b.version = "2.23.9_fc18"
        self.assertFalse(a > b)
        self.assertTrue(a >= b)
        self.assertFalse(a < b)
        self.assertTrue(a <= b)
        self.assertFalse(b > a)
        self.assertTrue(b >= a)
        self.assertFalse(b < a)
        self.assertTrue(b <= a)

        # A has greater minor version
        a.version = "2.23.10_fc18"
        self.assertTrue(a > b)
        self.assertTrue(a >= b)
        self.assertFalse(a < b)
        self.assertFalse(a <= b)
        self.assertFalse(b > a)
        self.assertFalse(b >= a)
        self.assertTrue(b < a)
        self.assertTrue(b <= a)

        # A has longer version, with equal prefix
        a.version = "2.23.9_fc18.foo"
        self.assertTrue(a > b)
        self.assertTrue(a >= b)
        self.assertFalse(a < b)
        self.assertFalse(a <= b)
        self.assertFalse(b > a)
        self.assertFalse(b >= a)
        self.assertTrue(b < a)
        self.assertTrue(b <= a)

        # A and B differ only in text
        b.version = "2.23.9_fc18.bar"
        self.assertTrue(a > b)
        self.assertTrue(a >= b)
        self.assertFalse(a < b)
        self.assertFalse(a <= b)
        self.assertFalse(b > a)
        self.assertFalse(b >= a)
        self.assertTrue(b < a)
        self.assertTrue(b <= a)

        # version has only a single component
        a.version = "2"
        b.version = "1"
        self.assertTrue(a > b)
        self.assertTrue(a >= b)
        self.assertFalse(a < b)
        self.assertFalse(a <= b)
        self.assertFalse(b > a)
        self.assertFalse(b >= a)
        self.assertTrue(b < a)
        self.assertTrue(b <= a)

        # A has release, b doesn't
        a.version = "1"
        a.release = "2"
        self.assertTrue(a > b)
        self.assertTrue(a >= b)
        self.assertFalse(a < b)
        self.assertFalse(a <= b)
        self.assertFalse(b > a)
        self.assertFalse(b >= a)
        self.assertTrue(b < a)
        self.assertTrue(b <= a)

        # A has epoch greater than B
        b.release = "2"
        a.epoch = "1"
        self.assertTrue(a > b)
        self.assertTrue(a >= b)
        self.assertFalse(a < b)
        self.assertFalse(a <= b)
        self.assertFalse(b > a)
        self.assertFalse(b >= a)
        self.assertTrue(b < a)
        self.assertTrue(b <= a)
Example #3
0
    def testEq(self):
        # Packages with different names are not comparable
        a = Package('foo')
        b = Package('bar')
        self.assertRaises(TypeError, operator.eq, (a, b))

        # Only names set
        b = Package('foo')
        self.assertEqual(a, b)

        # Arch set
        a.arch = 'x86_64'
        self.assertRaises(TypeError, operator.eq, (a, b))

        b.arch = 'x86_64'
        self.assertEqual(a, b)

        # Version set
        a.version = '2.23.9'
        self.assertNotEqual(a, b)
        self.assertNotEqual(b, a)

        b.version = '2.23.9'
        self.assertEqual(a, b)

        # Release set
        a.release = '14_4.fc18'
        self.assertNotEqual(a, b)
        self.assertNotEqual(b, a)

        b.release = '14_4.fc18'
        self.assertEqual(a, b)

        # Epoch set
        a.epoch = '1'
        self.assertNotEqual(a, b)
        self.assertNotEqual(b, a)

        b.epoch = '1'
        self.assertEqual(a, b)