Пример #1
0
def setup_test_df():
    """Create a dataframe populated with some test columns."""
    df = learn.DataFrame()
    df["a"] = learn.TransformedSeries([mocks.MockSeries("foobar", [])],
                                      mocks.MockTwoOutputTransform(
                                          "iue", "eui", "snt"), "out1")
    df["b"] = learn.TransformedSeries([mocks.MockSeries("foobar", [])],
                                      mocks.MockTwoOutputTransform(
                                          "iue", "eui", "snt"), "out2")
    df["c"] = learn.TransformedSeries([mocks.MockSeries("foobar", [])],
                                      mocks.MockTwoOutputTransform(
                                          "iue", "eui", "snt"), "out1")
    return df
Пример #2
0
    def test_build_multiple_output(self):
        col = learn.TransformedSeries([mocks.MockSeries("foobar", [])],
                                      mocks.MockTwoOutputTransform(
                                          "thb", "nth", "snt"), "out2")

        result = col.build()
        expected = mocks.MockTensor("Mock Tensor 2", dtypes.int32)
        self.assertEqual(expected, result)
Пример #3
0
 def test_parameters(self):
     t = mocks.MockTwoOutputTransform("a", "b", "c")
     self.assertEqual(
         {
             "param_one": "a",
             "param_three": "c",
             "param_two": "b"
         }, t.parameters())
Пример #4
0
  def test_build_multiple_output(self):
    col = learn.TransformedColumn(
        [mocks.MockColumn("foobar", [])],
        mocks.MockTwoOutputTransform("thb", "nth", "snt"), "out2")

    result = col.build()
    expected = "Fake Tensor 2"
    self.assertEqual(expected, result)
Пример #5
0
    def test_parameters_inherited_combined(self):
        t = mocks.MockTwoOutputTransform("thb", "nth", "snt")

        expected = {
            "param_one": "thb",
            "param_two": "nth",
            "param_three": "snt"
        }
        self.assertEqual(expected, t.parameters())
Пример #6
0
    def test_repr(self):
        col = learn.TransformedSeries([mocks.MockSeries("foobar", [])],
                                      mocks.MockTwoOutputTransform(
                                          "thb", "nth", "snt"), "qux")

        # note params are sorted by name
        expected = ("MockTransform({'param_one': 'thb', 'param_three': 'snt', "
                    "'param_two': 'nth'})"
                    "(foobar)[qux]")
        self.assertEqual(expected, repr(col))
Пример #7
0
    def test_call(self):
        t = mocks.MockTwoOutputTransform("a", "b", "c")
        # MockTwoOutputTransform has input valency 1
        input1 = mocks.MockColumn("foobar", [])
        out1, out2 = t([input1])  # pylint: disable=not-callable

        self.assertEqual(learn.TransformedColumn, type(out1))
        # self.assertEqual(out1.transform, t)
        # self.assertEqual(out1.output_name, "output1")

        self.assertEqual(learn.TransformedColumn, type(out2))
Пример #8
0
    def test_cache(self):
        z = mocks.MockColumn("foobar", [])
        t = mocks.MockTwoOutputTransform("thb", "nth", "snt")
        cache = {}
        t.apply_transform([z], cache)
        self.assertEqual(2, len(cache))

        expected_keys = [
            "MockTransform("
            "{'param_one': 'thb', 'param_three': 'snt', 'param_two': 'nth'})"
            "(foobar)[out1]", "MockTransform("
            "{'param_one': 'thb', 'param_three': 'snt', 'param_two': 'nth'})"
            "(foobar)[out2]"
        ]

        self.assertEqual(expected_keys, sorted(cache.keys()))
Пример #9
0
    def test_return_type(self):
        t = mocks.MockTwoOutputTransform("a", "b", "c")

        rt = t.return_type
        self.assertEqual("ReturnType", rt.__name__)
        self.assertEqual(("out1", "out2"), rt._fields)