Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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))
Ejemplo n.º 3
0
 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])