def test_builder_12(self):
     c = Require(self.prop3) & Forbid(self.prop1)
     self.assertEqual('[[-2], [1]]', str(c.cnf()))
     self.assertDictEqual({
         1: url_by_name('BAZ'),
         2: url_by_name('FOO')
     }, c.props)
 def test_builder_8(self):
     c = Forbid(self.prop2) & Forbid(self.prop1)
     self.assertEqual('[[-2], [-1]]', str(c.cnf()))
     self.assertDictEqual({
         1: url_by_name('BAR'),
         2: url_by_name('FOO')
     }, c.props)
 def test_builder_13(self):
     c = Require(self.prop3) & Require(self.prop2)
     self.assertEqual('[[1], [2]]', str(c.cnf()))
     self.assertDictEqual({
         1: url_by_name('BAZ'),
         2: url_by_name('BAR')
     }, c.props)
 def test_builder_24(self):
     c = Forbid(self.prop3) & Require(self.prop2) & Forbid(self.prop1)
     self.assertEqual('[[-3], [-1], [2]]', str(c.cnf()))
     self.assertDictEqual(
         {
             1: url_by_name('BAZ'),
             2: url_by_name('BAR'),
             3: url_by_name('FOO')
         }, c.props)
 def test_builder_2(self):
     c = Any(
         Require(self.prop1) | Require(self.prop2) | Require(self.prop3))
     self.assertEqual('[[1, 2, 3]]', str(c.cnf()))
     self.assertDictEqual(
         {
             1: url_by_name('FOO'),
             2: url_by_name('BAR'),
             3: url_by_name('BAZ')
         }, c.props)
    def setUp(self):
        self.maxDiff = None
        self.td1 = TrainDescription(
            train_name='test_train',
            train_version='1.0',
            properties={
                1: url_by_name('FOO'),
                2: token_by_name('BAR'),
                3: enum_by_name('BAZ', choices=['VALUE1', 'VALUE2'])
            },
            formulas=[ConjunctiveNormalForm(Clause(1))],
            model_summary='model summary',
            algorithm_requirement=FormulaAlgorithmRequirement(1))

        self.td2 = TrainDescription(
            train_name='test_train',
            train_version='1.0',
            properties={
                1: url_by_name('FOO'),
                2: token_by_name('BAR'),
                3: enum_by_name('BAZ', choices=['VALUE1', 'VALUE2'])
            },
            formulas=[ConjunctiveNormalForm(Clause(1))],
            model_summary='model summary',
            algorithm_requirement=None)

        self.td3 = TrainDescription(
            train_name='test_train',
            train_version='1.0',
            properties={
                1: url_by_name('FOO'),
                2: token_by_name('BAR'),
                3: enum_by_name('BAZ', choices=['VALUE1', 'VALUE2'])
            },
            formulas=[
                ConjunctiveNormalForm(
                    Clause(1), Clause(-2, 1, 3), Clause(3, 1, -2, -3)
                ),
                ConjunctiveNormalForm(
                    Clause(3, 1), Clause(2, 1, 3, -3)
                ),
                ConjunctiveNormalForm(
                    Clause(-1)
                )
            ],
            model_summary='model summary',
            algorithm_requirement=FormulaAlgorithmRequirement(3))
 def test_invalid_train_description_3(self):
     self.assertValueError(lambda: TrainDescription(
         train_name='foo',
         train_version='1.0',
         properties={
             -1: url_by_name('FOO'),
             2: token_by_name('BAR'),
             3: enum_by_name('BAZ', choices=['VALUE1', 'VALUE2'])
         },
         formulas=[],
         model_summary='model summary',
         algorithm_requirement=None))
 def test_builder_6(self):
     c = Forbid(self.prop2)
     self.assertEqual('[[-1]]', str(c.cnf()))
     self.assertDictEqual({1: url_by_name('BAR')}, c.props)
Esempio n. 9
0
 def test_valid_error_1(self):
     self.assertValueError(lambda: url_by_name('adaf'))
Esempio n. 10
0
 def test_type_error_5(self):
     self.assertTypeError(lambda: url_by_name(0.9661))
Esempio n. 11
0
 def requirements(self) -> ConjunctionBuilder:
     return Any(
         Forbid(url_by_name('BAZ')) | Require(url_by_name('BAR'))
         | Forbid(url_by_name('BAM'))) & Require(
             url_by_name('FOO')) & Forbid(url_by_name('CAT'))
 def test_builder_1(self):
     c = Require(self.prop1)
     self.assertEqual('[[1]]', str(c.cnf()))
     self.assertDictEqual({1: url_by_name('FOO')}, c.props)
Esempio n. 13
0
 def test_eq_2(self):
     self.assertIsEqual(self.url2, url_by_name('BAR'))
Esempio n. 14
0
 def requirements(self) -> ConjunctionBuilder:
     return Require(url_by_name('FOO')) & Require(url_by_name('BAR'))
Esempio n. 15
0
 def requirements(self) -> ConjunctionBuilder:
     return Any(Require(url_by_name('FOO')))
Esempio n. 16
0
 def requirements(self) -> ConjunctionBuilder:
     return Forbid(url_by_name('FOO')) & Forbid('foo')
Esempio n. 17
0
 def test_valid_error_2(self):
     self.assertTypeError(lambda: url_by_name(None))
Esempio n. 18
0
 def test_type_error_1(self):
     self.assertTypeError(lambda: url_by_name(True))
Esempio n. 19
0
 def test_eq_1(self):
     self.assertIsEqual(self.url1, url_by_name('FOO'))
Esempio n. 20
0
 def test_eq_4(self):
     self.assertIsEqual(self.url4, url_by_name('SOME_OTHER_VARIABLE'))
Esempio n. 21
0
 def test_eq_3(self):
     self.assertIsEqual(self.url3, url_by_name('MY_VARIABLE'))
Esempio n. 22
0
 def test_type_error_4(self):
     self.assertTypeError(lambda: url_by_name(1))
Esempio n. 23
0
 def requirements(self) -> ConjunctionBuilder:
     return Forbid(url_by_name('BAZ')) & Forbid(url_by_name('BAM'))
 def setUp(self):
     self.prop1 = url_by_name('FOO')
     self.prop2 = url_by_name('BAR')
     self.prop3 = url_by_name('BAZ')
Esempio n. 25
0
 def setUp(self):
     self.url1 = url_by_name('FOO')
     self.url2 = url_by_name('BAR')
     self.url3 = url_by_name('MY_VARIABLE')
     self.url4 = url_by_name('SOME_OTHER_VARIABLE')
Esempio n. 26
0
 def __init__(self):
     super().__init__()
     self.source1 = url_by_name('DATA_SOURCE_A')
     self.source2 = url_by_name('DATA_SOURCE_B')
     self.source3 = url_by_name('DATA_SOURCE_C')
     self.forbidden = url_by_name('FORBIDDEN')
Esempio n. 27
0
 def assert_invalid_env_name(self, name):
     with self.assertRaises(ValueError):
         url_by_name(name)