def test_value_from_discrete_substring_flags(self): trans = ValueFromDiscreteSubstring( DiscreteVariable(values=self.arr), self.patterns) with patch('Orange.widgets.data.owcreateclass.map_by_substring') as mbs: trans.case_sensitive = True a, patterns, case_sensitive, match_beginning = mbs.call_args[0] np.testing.assert_equal(a, self.arr) self.assertEqual(patterns, self.patterns) self.assertTrue(case_sensitive) self.assertFalse(match_beginning) trans.case_sensitive = False trans.match_beginning = True a, patterns, case_sensitive, match_beginning = mbs.call_args[0] np.testing.assert_equal(a, self.arr) self.assertEqual(patterns, self.patterns) self.assertFalse(case_sensitive) self.assertTrue(match_beginning) arr2 = self.arr[::-1] trans.variable = DiscreteVariable(values=arr2) a, patterns, case_sensitive, match_beginning = mbs.call_args[0] np.testing.assert_equal(a, arr2) self.assertEqual(patterns, self.patterns) self.assertFalse(case_sensitive) self.assertTrue(match_beginning) patt2 = self.patterns[::-1] trans.patterns = patt2 a, patterns, case_sensitive, match_beginning = mbs.call_args[0] np.testing.assert_equal(a, arr2) self.assertEqual(patterns, patt2) self.assertFalse(case_sensitive) self.assertTrue(match_beginning)
def test_valuefromsdiscretesubstring_equality(self): str1 = DiscreteVariable("d1", values=("abc", "ghi")) str1a = DiscreteVariable("d1", values=("abc", "ghi")) str2 = DiscreteVariable("d2", values=("abc", "ghi")) assert str1 == str1a t1 = ValueFromDiscreteSubstring(str1, ["abc", "def"]) t1a = ValueFromDiscreteSubstring(str1a, ["abc", "def"]) t2 = ValueFromDiscreteSubstring(str2, ["abc", "def"]) self.assertEqual(t1, t1) self.assertEqual(t1, t1a) self.assertNotEqual(t1, t2) self.assertEqual(hash(t1), hash(t1a)) self.assertNotEqual(hash(t1), hash(t2)) t1 = ValueFromDiscreteSubstring(str1, ["abc", "def"]) t1a = ValueFromDiscreteSubstring(str1a, ["abc", "ghi"]) self.assertNotEqual(t1, t1a) self.assertNotEqual(hash(t1), hash(t1a))
def test_value_from_discrete_substring(self): trans = ValueFromDiscreteSubstring( DiscreteVariable("x", values=self.arr), self.patterns) np.testing.assert_equal(trans.lookup_table, [0, 1, 2, 0, 3])