Esempio 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
Esempio n. 2
0
def test_table_exception():
    with pytest.raises(AutomatonError) as e:
        Table("string")
    assert e.value.args[0] == "Unsupported type: <class 'str'>"
Esempio 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}]
Esempio n. 4
0
def test_create_empty_table():
    table = Table()
    assert table.data == []
    assert table.default is None
Esempio 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)
Esempio 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}])
Esempio n. 7
0
def test_table_columns():
    table = Table([{"a": 0, "b": 1}, {"c": 2}])
    assert table.columns == ["a", "b", "c"]
Esempio n. 8
0
def test_table_get_final_row_index():
    table = Table([{"a": 0, "b": 1}, {"c": 2}])
    assert table.final == 1
Esempio 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
Esempio 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
Esempio 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)
Esempio n. 12
0
def test_table_default_value(default, expected):
    table = Table([{0: "a"}, {1: "b"}], default=default)
    assert table[1]["a"] == expected
Esempio 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"