Ejemplo n.º 1
0
def test_create_table_from_dicts():
    table = Table([{0: "a"}, {0: "b"}], default=None)
    assert table.data == [TableRow({0: "a"}), TableRow({0: "b"})]
    assert table.default is None
Ejemplo n.º 2
0
def test_table_exception():
    with pytest.raises(AutomatonError) as e:
        Table("string")
    assert e.value.args[0] == "Unsupported type: <class 'str'>"
Ejemplo n.º 3
0
def test_table_as_list():
    table = Table([{"a": 0, "b": 1}, {"c": 2}])
    assert table.as_list() == [{"a": 0, "b": 1}, {"c": 2}]
Ejemplo n.º 4
0
def test_create_empty_table():
    table = Table()
    assert table.data == []
    assert table.default is None
Ejemplo n.º 5
0
def test_table_with_empty_row():
    table = Table.with_empty_row(default=int)
    assert len(table) == 1
    assert table[0] == TableRow(default=int)
Ejemplo n.º 6
0
def test_table_map():
    table = Table([{"a": 1}, {"b": 2}])
    assert table.map(lambda x: x + 100) == Table([{"a": 101}, {"b": 102}])
Ejemplo n.º 7
0
def test_table_columns():
    table = Table([{"a": 0, "b": 1}, {"c": 2}])
    assert table.columns == ["a", "b", "c"]
Ejemplo n.º 8
0
def test_table_get_final_row_index():
    table = Table([{"a": 0, "b": 1}, {"c": 2}])
    assert table.final == 1
Ejemplo n.º 9
0
def test_table_string_representation():
    table = Table([{0: "a"}, {1: "b"}], default="x")
    representation = str(table)
    assert "| 0 | a | x |" in representation
    assert "| 1 | x | b |" in representation
Ejemplo n.º 10
0
def test_table_iterator():
    table = Table([{0: 0}, {0: 1}, {0: 2}])
    for i, row in enumerate(table):
        assert row[0] == i
Ejemplo n.º 11
0
def test_table_get_row():
    table = Table([{0: "a"}, {1: "b"}], default=str)
    assert table[0] == TableRow({0: "a"}, default=str)
    assert table[1] == TableRow({1: "b"}, default=str)
Ejemplo n.º 12
0
def test_table_default_value(default, expected):
    table = Table([{0: "a"}, {1: "b"}], default=default)
    assert table[1]["a"] == expected
Ejemplo n.º 13
0
def test_create_table_from_dicts():
    table = Table([{0: "a"}, {0: "b"}], default=None)
    assert table.data == [TableRow({0: "a"}), TableRow({0: "b"})]
    assert table.default is None


def test_table_exception():
    with pytest.raises(AutomatonError) as e:
        Table("string")
    assert e.value.args[0] == "Unsupported type: <class 'str'>"


@pytest.mark.parametrize(
    "this, other, equal",
    [(Table(), Table(), True), (Table(), "not-a-table", False),
     (Table([{
         0: "a"
     }, {
         1: "b"
     }], default="x"), Table([{
         0: "a"
     }, {
         1: "b"
     }], default="x"), True),
     (Table([{
         0: "a"
     }, {
         1: "b"
     }], default="x"), Table([{
         0: "a"