Beispiel #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
Beispiel #2
0
def test_table_row_columns():
    row = TableRow({"a": 0, "c": 2})
    assert row.columns == ["a", "c"]
Beispiel #3
0
def test_table_row_map():
    row = TableRow({0: "world", 1: "sun"})
    assert row.map(lambda x: "hello " + x).data == {
        0: "hello world",
        1: "hello sun"
    }
Beispiel #4
0
def test_table_row_set_value():
    row = TableRow()
    row[10] = "a"
    assert row[10] == "a"
Beispiel #5
0
def test_table_row_string_representation():
    row = TableRow({0: "a"})
    assert str(row) == "{0: 'a'}"
Beispiel #6
0
def test_table_row_get_default_value():
    row0 = TableRow(default=None)
    row1 = TableRow(default=int)
    assert row0[100] is None
    assert row1[100] == 0
Beispiel #7
0
def test_table_row_get_value():
    row = TableRow({0: "a"})
    assert row[0] == "a"
Beispiel #8
0
def test_table_row_exception():
    with pytest.raises(AutomatonError) as e:
        TableRow("string")
    assert e.value.args[0] == "Unsupported type: <class 'str'>"
Beispiel #9
0
def test_create_empty_table_row():
    row = TableRow()
    assert row.data == {}
    assert row.default is None
Beispiel #10
0
def test_table_with_empty_row():
    table = Table.with_empty_row(default=int)
    assert len(table) == 1
    assert table[0] == TableRow(default=int)
Beispiel #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)
Beispiel #12
0
def test_create_empty_table_row():
    row = TableRow()
    assert row.data == {}
    assert row.default is None


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


@pytest.mark.parametrize(
    "this, other, result",
    [(TableRow({0: "a"}, None), "not-a-table-row", False),
     (TableRow(), TableRow(), True),
     (TableRow({0: "a"}, None), TableRow({0: "a"}, None), True),
     (TableRow({0: "a"}, None), TableRow({0: "a"}, int), False),
     (TableRow({0: "a"}, None), TableRow({1: "a"}, None), False)])
def test_table_row_equality(this, other, result):
    assert (this == other) is result


def test_table_row_get_default_value():
    row0 = TableRow(default=None)
    row1 = TableRow(default=int)
    assert row0[100] is None
    assert row1[100] == 0