def test_dependency_repr(self): dep = Dependency('foo', condition='$foo == 2') assert repr(dep) == "Dependency(name='foo', condition='$foo == 2')" self.assertTrue(dep.evaluate_condition({'foo': 2})) assert repr(dep) == "Dependency(name='foo', condition='$foo == 2', evaluated_condition=True)" self.assertFalse(dep.evaluate_condition({'foo': 3})) assert repr(dep) == "Dependency(name='foo', condition='$foo == 2', evaluated_condition=False)"
def test_init_dependency(self): dep = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=5, condition='$foo == 23 and $bar != 42') self.assertEquals('foo', dep.name) self.assertEquals(1, dep.version_lt) self.assertEquals(2, dep.version_lte) self.assertEquals(3, dep.version_eq) self.assertEquals(4, dep.version_gte) self.assertEquals(5, dep.version_gt) self.assertFalse(dep.evaluate_condition({'foo': 23, 'bar': 42})) self.assertFalse(dep.evaluated_condition) self.assertTrue(dep.evaluate_condition({'foo': 23, 'bar': 43})) self.assertTrue(dep.evaluated_condition) self.assertRaises(TypeError, Dependency, 'foo', unknownattribute=42) d = {} d[dep] = None dep2 = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=5, condition='$foo == 23 and $bar != 42') dep2.evaluate_condition({'foo': 23, 'bar': 43}) d[dep2] = None self.assertEquals(len(d), 1) dep3 = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=6) d[dep3] = None self.assertEquals(len(d), 2) dep = Dependency('foo', condition='foo > bar and bar < baz') self.assertTrue(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo <= bar or bar >= baz') self.assertFalse(dep.evaluate_condition({}))
def test_init_dependency(self): dep = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=5, condition='$foo == 23 and $bar != 42') self.assertEqual('foo', dep.name) self.assertEqual(1, dep.version_lt) self.assertEqual(2, dep.version_lte) self.assertEqual(3, dep.version_eq) self.assertEqual(4, dep.version_gte) self.assertEqual(5, dep.version_gt) self.assertFalse(dep.evaluate_condition({'foo': 23, 'bar': 42})) self.assertFalse(dep.evaluated_condition) self.assertTrue(dep.evaluate_condition({'foo': 23, 'bar': 43})) self.assertTrue(dep.evaluated_condition) self.assertRaises(TypeError, Dependency, 'foo', unknownattribute=42) d = {} d[dep] = None dep2 = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=5, condition='$foo == 23 and $bar != 42') dep2.evaluate_condition({'foo': 23, 'bar': 43}) d[dep2] = None self.assertEqual(len(d), 1) dep3 = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=6) d[dep3] = None self.assertEqual(len(d), 2) dep = Dependency('foo', condition='foo > bar and bar < baz') self.assertTrue(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo <= bar or bar >= baz') self.assertFalse(dep.evaluate_condition({}))
def test_init_dependency(self): dep = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=5, condition='$foo == 23 and $bar != 42') self.assertEqual('foo', dep.name) self.assertEqual(1, dep.version_lt) self.assertEqual(2, dep.version_lte) self.assertEqual(3, dep.version_eq) self.assertEqual(4, dep.version_gte) self.assertEqual(5, dep.version_gt) self.assertFalse(dep.evaluate_condition({'foo': 23, 'bar': 42})) self.assertFalse(dep.evaluated_condition) self.assertTrue(dep.evaluate_condition({'foo': 23, 'bar': 43})) self.assertTrue(dep.evaluated_condition) self.assertRaises(TypeError, Dependency, 'foo', unknownattribute=42) d = {} d[dep] = None dep2 = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=5, condition='$foo == 23 and $bar != 42') dep2.evaluate_condition({'foo': 23, 'bar': 43}) d[dep2] = None self.assertEqual(len(d), 1) dep3 = Dependency('foo', version_lt=1, version_lte=2, version_eq=3, version_gte=4, version_gt=6) d[dep3] = None self.assertEqual(len(d), 2) dep = Dependency('foo', condition='foo > bar and bar < baz') self.assertTrue(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo <= bar or bar >= baz') self.assertFalse(dep.evaluate_condition({})) dep = Dependency('foo', condition='$foo == ""') self.assertTrue(dep.evaluate_condition({})) self.assertFalse(dep.evaluate_condition({'foo': 'foo'})) dep = Dependency('foo', condition='$foo == "foo \' bar"') self.assertTrue(dep.evaluate_condition({'foo': "foo ' bar"})) self.assertFalse(dep.evaluate_condition({})) dep = Dependency('foo', condition="$foo == ''") self.assertTrue(dep.evaluate_condition({})) self.assertFalse(dep.evaluate_condition({'foo': 'foo'})) dep = Dependency('foo', condition="$foo == 'foo \" bar'") self.assertTrue(dep.evaluate_condition({'foo': 'foo " bar'})) self.assertFalse(dep.evaluate_condition({})) # Testing for more than 1 conditions dep = Dependency('foo', condition='foo > bar and bar < baz and foo > bar') self.assertTrue(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo <= bar and bar >= baz and foo > bar') self.assertFalse(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo > bar or bar < baz or foo <= bar') self.assertTrue(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo <= bar or bar >= baz or foo <= bar') self.assertFalse(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo <= bar and bar < baz or foo > bar') self.assertTrue(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo <= bar or bar < baz and foo < bar') self.assertFalse(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo > bar and bar >= baz or foo > bar') self.assertTrue(dep.evaluate_condition({})) dep = Dependency('foo', condition='foo <= bar or bar >= baz and foo < bar') self.assertFalse(dep.evaluate_condition({}))