def test_filter_value_dict(self): setting = ContextSetting({}) setting.name = "value" def test_filter(before_value, after_value): data = dict(value=before_value) self.handler.filter_value(setting, data, *self.args) self.assertEqual(data.get("value", None), after_value) # filter list values test_filter({}, {}) # When list contains attributes asa tuple of (name, type), # Attributes not present in domain should be filtered out test_filter( { ("d1", Discrete): 1, ("d1", Continuous): 2, ("c1", Continuous): 3, ("c1", Discrete): 4 }, { ("d1", Discrete): 1, ("c1", Continuous): 3 }) # All other values in list should remain test_filter([0, [1, 2, 3], "abcd", 5.4], [0, [1, 2, 3], "abcd", 5.4])
def test_deprecated_str_as_var(self): if LooseVersion(Orange.__version__) >= LooseVersion("3.26"): # pragma: no cover self.fail("Remove support for variables stored as string settings " "and this test.") context = Mock() context.attributes = {"foo": 2} context.metas = {} setting = ContextSetting("") setting.name = "setting_name" with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") DomainContextHandler.encode_setting(context, setting, "foo") self.assertIn("setting_name", w[0].message.args[0])
def test_filter_value(self): setting = ContextSetting([]) setting.name = "value" def test_filter(before_value, after_value): data = dict(value=before_value) self.handler.filter_value(setting, data, *self.args) self.assertEqual(data.get("value", None), after_value) # filter list values test_filter([], []) # When list contains attributes asa tuple of (name, type), # Attributes not present in domain should be filtered out test_filter([("d1", Discrete), ("d1", Continuous), ("c1", Continuous), ("c1", Discrete)], [("d1", Discrete), ("c1", Continuous)]) # All other values in list should remain test_filter([0, [1, 2, 3], "abcd", 5.4], [0, [1, 2, 3], "abcd", 5.4])