"""Tests for the pure logic. Put this in tests/ and run `pytest -q`."""
from csvpeek.summary import summarize


def test_empty_file_has_no_rows_or_columns():
    assert summarize([]) == (0, [])


def test_counts_rows_and_reads_columns_from_the_first():
    rows = [{"name": "ada", "role": "eng"}, {"name": "sam", "role": "ops"}]
    assert summarize(rows) == (2, ["name", "role"])


def test_single_row_still_reports_its_columns():
    assert summarize([{"only": "one"}]) == (1, ["only"])
