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)
def test_valid_error_1(self): self.assertValueError(lambda: url_by_name('adaf'))
def test_type_error_5(self): self.assertTypeError(lambda: url_by_name(0.9661))
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)
def test_eq_2(self): self.assertIsEqual(self.url2, url_by_name('BAR'))
def requirements(self) -> ConjunctionBuilder: return Require(url_by_name('FOO')) & Require(url_by_name('BAR'))
def requirements(self) -> ConjunctionBuilder: return Any(Require(url_by_name('FOO')))
def requirements(self) -> ConjunctionBuilder: return Forbid(url_by_name('FOO')) & Forbid('foo')
def test_valid_error_2(self): self.assertTypeError(lambda: url_by_name(None))
def test_type_error_1(self): self.assertTypeError(lambda: url_by_name(True))
def test_eq_1(self): self.assertIsEqual(self.url1, url_by_name('FOO'))
def test_eq_4(self): self.assertIsEqual(self.url4, url_by_name('SOME_OTHER_VARIABLE'))
def test_eq_3(self): self.assertIsEqual(self.url3, url_by_name('MY_VARIABLE'))
def test_type_error_4(self): self.assertTypeError(lambda: url_by_name(1))
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')
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')
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')
def assert_invalid_env_name(self, name): with self.assertRaises(ValueError): url_by_name(name)