コード例 #1
0
def test_resource_sync_schema():
    schema = {
        "fields": [{
            "name": "name",
            "type": "string"
        }, {
            "name": "id",
            "type": "integer"
        }]
    }
    resource = Resource(path="data/sync-schema.csv",
                        schema=schema,
                        sync_schema=True)
    resource.infer()
    assert resource.schema == schema
    assert resource.read_header() == ["name", "id"]
    assert resource.read_sample() == [["english", "1"], ["中国人", "2"]]
    assert resource.read_rows() == [
        {
            "id": 1,
            "name": "english"
        },
        {
            "id": 2,
            "name": "中国人"
        },
    ]
コード例 #2
0
def test_resource_source_path():
    path = "data/table.csv"
    resource = Resource({"path": path})
    assert resource.path == path
    assert resource.data is None
    assert resource.source == path
    assert resource.basepath == ""
    assert resource.inline is False
    assert resource.tabular is True
    assert resource.multipart is False
    assert (
        resource.read_bytes()
        == b"id,name\n1,english\n2,\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba\n"
    )
    assert resource.read_data() == [["1", "english"], ["2", "中国人"]]
    assert resource.read_rows() == [
        {"id": 1, "name": "english"},
        {"id": 2, "name": "中国人"},
    ]
    assert resource.read_header() == ["id", "name"]
    assert resource.read_sample() == [["1", "english"], ["2", "中国人"]]
    assert resource.read_stats() == {
        "hash": "6c2c61dd9b0e9c6876139a449ed87933",
        "bytes": 30,
        "rows": 2,
    }
コード例 #3
0
def test_resource_source_data():
    data = [["id", "name"], ["1", "english"], ["2", "中国人"]]
    resource = Resource({"data": data})
    assert resource.path is None
    assert resource.data == data
    assert resource.source == data
    assert resource.basepath == ""
    assert resource.inline is True
    assert resource.tabular is True
    assert resource.multipart is False
    assert resource.read_bytes() == b""
    assert resource.read_data() == data[1:]
    assert resource.read_rows() == [
        {
            "id": 1,
            "name": "english"
        },
        {
            "id": 2,
            "name": "中国人"
        },
    ]
    assert resource.read_header() == ["id", "name"]
    assert resource.read_sample() == data[1:]
    assert resource.read_stats() == {
        "hash": "",
        "bytes": 0,
        "fields": 2,
        "rows": 2,
    }