Esempio n. 1
0
    def test_restrict_all_permissive(self):
        JeevesLib.clear_cache()

        x = JeevesLib.mkLabel('x')
        JeevesLib.restrict(x, lambda _: True)
        self.assertTrue(JeevesLib.concretize(None, x))

        # Now we test the cache.
        self.assertTrue(JeevesLib.concretize(None, x))
        self.assertEqual(len(JeevesLib.get_cache()), 1)
Esempio n. 2
0
    def test_restrict_all_permissive(self):
        JeevesLib.clear_cache()

        x = JeevesLib.mkLabel('x')
        JeevesLib.restrict(x, lambda _: True)
        self.assertTrue(JeevesLib.concretize(None, x))

        # Now we test the cache.
        self.assertTrue(JeevesLib.concretize(None, x))
        self.assertEqual(len(JeevesLib.get_cache()), 1)
Esempio n. 3
0
    def test_restrict_with_sensitive_value(self):
        JeevesLib.clear_cache()

        x = JeevesLib.mkLabel('x')
        JeevesLib.restrict(x, lambda y: y == 2)
        value = JeevesLib.mkSensitive(x, 42, 41)

        self.assertEquals(JeevesLib.concretize(2, value), 42)
        self.assertEquals(JeevesLib.concretize(2, value), 42)

        self.assertEquals(JeevesLib.concretize(1, value), 41)
        self.assertEquals(JeevesLib.concretize(1, value), 41)

        self.assertEquals(len(JeevesLib.get_cache()), 2)
Esempio n. 4
0
    def test_restrict_with_sensitive_value(self):
        JeevesLib.clear_cache()

        x = JeevesLib.mkLabel('x')
        JeevesLib.restrict(x, lambda y: y == 2)
        value = JeevesLib.mkSensitive(x, 42, 41)

        self.assertEquals(JeevesLib.concretize(2, value), 42)
        self.assertEquals(JeevesLib.concretize(2, value), 42)

        self.assertEquals(JeevesLib.concretize(1, value), 41)
        self.assertEquals(JeevesLib.concretize(1, value), 41)

        self.assertEquals(len(JeevesLib.get_cache()), 2)