def test_add_constraint(self): init = self.sk_pca.hyperparam_schema() expected = { 'allOf': [{ 'type': 'object', 'properties': {} }, { 'anyOf': [{ 'type': 'object', 'properties': { 'n_components': { 'not': { 'enum': ['mle'] }, } }, }, { 'type': 'object', 'properties': { 'svd_solver': { 'enum': ['full', 'auto'] }, } }] }] } foo = self.sk_pca.customize_schema(constraint=schemas.AnyOf([ schemas.Object( {'n_components': schemas.Not(schemas.Enum(['mle']))}), schemas.Object({'svd_solver': schemas.Enum(['full', 'auto'])}) ])) self.assertEqual(foo.hyperparam_schema(), expected) helpers.validate_is_schema(foo._schemas) self.assertEqual(self.sk_pca.hyperparam_schema(), init)
def test_add_constraint(self): init = self.sk_pca.hyperparam_schema() init_expected = { "allOf": [ { "type": "object", "relevantToOptimizer": [], "additionalProperties": False, "properties": { "n_components": {"default": None}, "copy": {"default": True}, "whiten": {"default": False}, "svd_solver": {"default": "auto"}, "tol": {"default": 0.0}, "iterated_power": {"default": "auto"}, "random_state": {"default": None}, }, } ] } self.assertEqual(init, init_expected) expected = { "allOf": [ init_expected["allOf"][0], { "anyOf": [ { "type": "object", "properties": { "n_components": { "not": {"enum": ["mle"]}, } }, }, { "type": "object", "properties": { "svd_solver": {"enum": ["full", "auto"]}, }, }, ] }, ] } foo = self.sk_pca.customize_schema( constraint=schemas.AnyOf( [ schemas.Object(n_components=schemas.Not(schemas.Enum(["mle"]))), schemas.Object(svd_solver=schemas.Enum(["full", "auto"])), ] ) ) self.assertEqual(foo.hyperparam_schema(), expected) lale.type_checking.validate_is_schema(foo._schemas) self.assertEqual(self.sk_pca.hyperparam_schema(), init)
def test_add_constraint(self): init = self.sk_pca.hyperparam_schema() init_expected = {'allOf': [ { 'type': 'object', 'relevantToOptimizer': [], 'additionalProperties': False, 'properties': { 'n_components': {'default': None}, 'copy': {'default': True}, 'whiten': {'default': False}, 'svd_solver': {'default': 'auto'}, 'tol': {'default': 0.0}, 'iterated_power': {'default': 'auto'}, 'random_state': {'default': None}}}]} self.assertEqual(init, init_expected) expected = {'allOf': [ init_expected['allOf'][0], {'anyOf': [ {'type': 'object', 'properties': { 'n_components': { 'not': { 'enum': ['mle']}, }}, }, {'type': 'object', 'properties': { 'svd_solver': { 'enum': ['full', 'auto']}, }}]}]} foo = self.sk_pca.customize_schema( constraint=schemas.AnyOf([ schemas.Object(n_components=schemas.Not(schemas.Enum(['mle']))), schemas.Object(svd_solver=schemas.Enum(['full', 'auto'])) ])) self.assertEqual(foo.hyperparam_schema(), expected) lale.type_checking.validate_is_schema(foo._schemas) self.assertEqual(self.sk_pca.hyperparam_schema(), init)