"""Independent cross-check. Requires pandas. Run from the CSV's directory."""
from pathlib import Path
import pandas as pd

path = Path(__file__).with_name('festival.csv')
df = pd.read_csv(path)
assert list(df.columns) == ['day','slot','entries','cups']
assert len(df) == 8
assert not df.isna().any().any()
assert not df.duplicated(['day','slot']).any()
assert (df[['entries','cups']] >= 0).all().all()
assert (df[['entries','cups']] % 1 == 0).all().all()
result = df.groupby('day')[['entries','cups']].sum()
assert (result['entries'] > 0).all()
result['cups_per_100_entries'] = result['cups']/result['entries']*100
assert result['entries'].tolist() == [600, 400]
assert result['cups'].tolist() == [150, 120]
assert result['cups_per_100_entries'].tolist() == [25.0, 30.0]
assert df['cups'].sum()/df['entries'].sum()*100 == 27
print('pandas', pd.__version__)
print(result.to_string())
print('All fixture cross-checks passed; total rate = 27.')
