def test_value_string_substring_flags(self): trans = ValueFromStringSubstring(StringVariable("x"), self.patterns) with patch('Orange.widgets.data.owcreateclass.map_by_substring') as mbs: trans.case_sensitive = True trans.transform(self.arr) case_sensitive, match_beginning = mbs.call_args[0][-3:-1] self.assertTrue(case_sensitive) self.assertFalse(match_beginning) trans.case_sensitive = False trans.match_beginning = True trans.transform(self.arr) case_sensitive, match_beginning = mbs.call_args[0][-3:-1] self.assertFalse(case_sensitive) self.assertTrue(match_beginning)
def test_value_string_substring_flags(self): trans = ValueFromStringSubstring(StringVariable(), self.patterns) with patch('Orange.widgets.data.owcreateclass.map_by_substring') as mbs: trans.case_sensitive = True trans.transform(self.arr) case_sensitive, match_beginning = mbs.call_args[0][-2:] self.assertTrue(case_sensitive) self.assertFalse(match_beginning) trans.case_sensitive = False trans.match_beginning = True trans.transform(self.arr) case_sensitive, match_beginning = mbs.call_args[0][-2:] self.assertFalse(case_sensitive) self.assertTrue(match_beginning)
def test_value_from_string_substring(self): trans = ValueFromStringSubstring(StringVariable(), self.patterns) arr2 = np.hstack((self.arr.astype(object), [None])) with patch("Orange.widgets.data.owcreateclass.map_by_substring") as mbs: trans.transform(self.arr) 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.assertFalse(match_beginning) trans.transform(arr2) a, patterns, *_ = mbs.call_args[0] np.testing.assert_equal(a, np.hstack((self.arr.astype(str), ""))) np.testing.assert_equal(trans.transform(arr2), [0, 1, 2, 0, 3, np.nan])
def test_value_from_string_substring(self): trans = ValueFromStringSubstring(StringVariable(), self.patterns) arr2 = np.hstack((self.arr.astype(object), [None])) with patch('Orange.widgets.data.owcreateclass.map_by_substring') as mbs: trans.transform(self.arr) 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.assertFalse(match_beginning) trans.transform(arr2) a, patterns, *_ = mbs.call_args[0] np.testing.assert_equal(a, np.hstack((self.arr.astype(str), ""))) np.testing.assert_equal(trans.transform(arr2), [0, 1, 2, 0, 3, np.nan])