Beispiel #1
0
    def test_numeric_node(self):
        var = ContinuousVariable("y")
        node = NumericNode(var, 2, 42, "foo")
        self.assertEqual(node.attr, var)
        self.assertEqual(node.attr_idx, 2)
        self.assertEqual(node.value, "foo")
        self.assertEqual(node.children, [])
        np.testing.assert_equal(node.subset, np.array([], dtype=np.int32))

        self.assertEqual(node.descend([3, 4, 0, 6]), 0)
        self.assertEqual(node.descend([3, 4, 42, 6]), 0)
        self.assertEqual(node.descend([3, 4, 42.1, 6]), 1)
        self.assertTrue(np.isnan(node.descend([3, 4, float("nan"), 6])))