def test_from_json_not(self): condition = Not(Gt(1.0)) condition_json = { "condition": "Not", "value": { "condition": "Gt", "value": 1.0 } } new_condition = ConditionSchema().load(condition_json) assert isinstance(new_condition, Not) assert isinstance(new_condition.value, condition.value.__class__) assert new_condition.value.value == condition.value.value
def test_from_json_or(self): condition = AnyOf([Gt(0.0), Lt(1.0)]) condition_json = { "condition": "AnyOf", "values": [{ "condition": "Gt", "value": 0.0 }, { "condition": "Lt", "value": 1.0 }] } new_condition = ConditionSchema().load(condition_json) assert isinstance(new_condition, AnyOf) assert len(condition.values) == len(new_condition.values) assert isinstance(new_condition.values[0], condition.values[0].__class__) assert new_condition.values[0].value == condition.values[0].value assert isinstance(new_condition.values[1], condition.values[1].__class__) assert new_condition.values[1].value == condition.values[1].value
def test_to_json(self, condition, condition_json): assert ConditionSchema().dump(condition) == condition_json
def test_create_error(self, condition_type, data): with pytest.raises(ValidationError): ConditionSchema().load(data)
def test_from_json(self, condition, condition_json): new_condition = ConditionSchema().load(condition_json) assert isinstance(new_condition, condition.__class__) for attr in condition.__dict__: assert getattr(new_condition, attr) == getattr(condition, attr)
def test_from_json(self, condition_type, value, condition_json): condition = ConditionSchema().load(condition_json) assert isinstance(condition, condition_type) assert condition.value == value