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)
Пример #9
0
 def test_valid_error_1(self):
     self.assertValueError(lambda: url_by_name('adaf'))
Пример #10
0
 def test_type_error_5(self):
     self.assertTypeError(lambda: url_by_name(0.9661))
Пример #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)
Пример #13
0
 def test_eq_2(self):
     self.assertIsEqual(self.url2, url_by_name('BAR'))
Пример #14
0
 def requirements(self) -> ConjunctionBuilder:
     return Require(url_by_name('FOO')) & Require(url_by_name('BAR'))
Пример #15
0
 def requirements(self) -> ConjunctionBuilder:
     return Any(Require(url_by_name('FOO')))
Пример #16
0
 def requirements(self) -> ConjunctionBuilder:
     return Forbid(url_by_name('FOO')) & Forbid('foo')
Пример #17
0
 def test_valid_error_2(self):
     self.assertTypeError(lambda: url_by_name(None))
Пример #18
0
 def test_type_error_1(self):
     self.assertTypeError(lambda: url_by_name(True))
Пример #19
0
 def test_eq_1(self):
     self.assertIsEqual(self.url1, url_by_name('FOO'))
Пример #20
0
 def test_eq_4(self):
     self.assertIsEqual(self.url4, url_by_name('SOME_OTHER_VARIABLE'))
Пример #21
0
 def test_eq_3(self):
     self.assertIsEqual(self.url3, url_by_name('MY_VARIABLE'))
Пример #22
0
 def test_type_error_4(self):
     self.assertTypeError(lambda: url_by_name(1))
Пример #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')
Пример #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')
Пример #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')
Пример #27
0
 def assert_invalid_env_name(self, name):
     with self.assertRaises(ValueError):
         url_by_name(name)