예제 #1
0
def test_render_rename_custom_list_empty_is_no_op():
    result = render(
        make_table(make_column("A", ["x"])),
        P(custom_list=True, list_string=""),
        settings=Settings(),
    )
    assert_result_equals(
        result, ArrowRenderResult(make_table(make_column("A", ["x"]))))
예제 #2
0
def test_render_dict_disallow_rename_to_null():
    result = render(
        make_table(make_column("A", ["x"])),
        P(renames={"A": ""}),
        settings=Settings(),
    )
    assert_result_equals(
        result, ArrowRenderResult(make_table(make_column("A", ["x"]))))
예제 #3
0
 def test_dict_disallow_rename_to_null(self):
     table = pd.DataFrame({"A": [1]})
     result = render(
         table,
         P(renames={"A": ""}),
         settings=Settings(),
         input_columns={"A": Column()},
     )
     assert_frame_equal(result, pd.DataFrame({"A": [1]}))
예제 #4
0
 def test_rename_custom_list_empty_is_no_op(self):
     table = pd.DataFrame({"A": ["x"]})
     result = render(
         table,
         P(custom_list=True, list_string=""),
         settings=Settings(),
         input_columns={"A": Column()},
     )
     assert_frame_equal(result, pd.DataFrame({"A": ["x"]}))
예제 #5
0
def test_render_custom_list():
    result = render(
        make_table(make_column("A", ["x"]), make_column("B", [1])),
        P(custom_list=True, list_string="X\nY"),
        settings=Settings(),
    )
    assert_result_equals(
        result,
        ArrowRenderResult(
            make_table(make_column("X", ["x"]), make_column("Y", [1]))),
    )
예제 #6
0
 def test_custom_list_disallow_rename_to_null(self):
     table = pd.DataFrame({"A": [1], "B": [2], "C": [3]})
     result = render(
         table,
         P(custom_list=True, list_string="D\n\nF"),
         settings=Settings(),
         input_columns={"A": Column(), "B": Column(), "C": Column()},
     )
     assert_frame_equal(
         result["dataframe"], pd.DataFrame({"D": [1], "B": [2], "F": [3]})
     )
예제 #7
0
 def test_custom_list(self):
     table = pd.DataFrame({"A": ["x"], "B": [1]})
     result = render(
         table,
         P(custom_list=True, list_string="X\nY"),
         settings=Settings(),
         input_columns={"A": Column(), "B": Column("{:,d}")},
     )
     assert_frame_equal(result["dataframe"], pd.DataFrame({"X": ["x"], "Y": [1]}))
     self.assertEqual(result["column_formats"], {"Y": "{:,d}", "X": None})
     self.assertEqual(result["errors"], [])
예제 #8
0
 def test_rename_swap_columns(self):
     table = pd.DataFrame({"A": ["x"], "B": [1]})
     result = render(
         table,
         P(custom_list=False, renames={"A": "B", "B": "A"}),
         settings=Settings(),
         input_columns={"A": Column(), "B": Column("{:,d}")},
     )
     assert_frame_equal(result["dataframe"], pd.DataFrame({"B": ["x"], "A": [1]}))
     self.assertEqual(result["column_formats"], {"A": "{:,d}", "B": None})
     self.assertEqual(result["errors"], [])
예제 #9
0
def test_render_custom_list_disallow_rename_to_null():
    result = render(
        make_table(make_column("A", ["a"]), make_column("B", ["b"]),
                   make_column("C", ["c"])),
        P(custom_list=True, list_string="D\n\nF"),
        settings=Settings(),
    )
    assert_result_equals(
        result,
        ArrowRenderResult(
            make_table(
                make_column("D", ["a"]),
                make_column("B", ["b"]),
                make_column("F", ["c"]),
            )),
    )
예제 #10
0
def test_render_rename_swap_columns():
    result = render(
        make_table(make_column("A", ["x"]), make_column("B", [1],
                                                        format="{:d}")),
        P(custom_list=False, renames={
            "A": "B",
            "B": "A"
        }),
        settings=Settings(),
    )
    assert_result_equals(
        result,
        ArrowRenderResult(
            make_table(make_column("B", ["x"]),
                       make_column("A", [1], format="{:d}"))),
    )
예제 #11
0
 def test_rename_custom_list_too_many_columns_is_error(self):
     table = pd.DataFrame({"A": ["x"]})
     result = render(
         table,
         P(custom_list=True, list_string="X,Y"),
         settings=Settings(),
         input_columns={"A": Column()},
     )
     self.assertEqual(
         result,
         [
             i18n_message(
                 "badParam.custom_list.wrongNumberOfNames",
                 {"n_names": 2, "n_columns": 1},
             )
         ],
     )
예제 #12
0
def test_render_rename_custom_list_too_many_columns_is_error():
    result = render(
        make_table(make_column("A", ["x"])),
        P(custom_list=True, list_string="X,Y"),
        settings=Settings(),
    )
    assert_result_equals(
        result,
        ArrowRenderResult(
            make_table(),
            [
                RenderError(
                    i18n_message(
                        "badParam.custom_list.wrongNumberOfNames",
                        {
                            "n_names": 2,
                            "n_columns": 1
                        },
                    ))
            ],
        ),
    )