コード例 #1
0
def test_resource_source_non_tabular():
    path = "data/text.txt"
    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 False
    assert resource.multipart is False
    assert resource.read_bytes() == b"text\n"
    assert resource.read_stats() == {
        "hash": "e1cbb0c3879af8347246f12c559a86b5",
        "bytes": 5,
        "fields": 0,
        "rows": 0,
    }
コード例 #2
0
def test_resource_source_non_tabular_remote():
    path = BASE_URL % "data/foo.txt"
    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 False
    assert resource.multipart is False
    assert resource.read_bytes() == b"foo\n"
    assert resource.read_stats() == {
        "hash": "d3b07384d113edec49eaa6238ad5ff00",
        "bytes": 4,
        "fields": 0,
        "rows": 0,
    }
コード例 #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,
        "rows": 2,
    }