Files

37 lines
1.2 KiB
Python

#!/usr/bin/env python3
"""Test that linecount_pycount.py produces correct output."""
import subprocess
import sys
def test_linecount():
# Test on fibonacci.py which we know has 49 total lines
result = subprocess.run(
['python3', 'linecount_pycount.py', 'fibonacci.py'],
capture_output=True,
text=True
)
print("Output:", result.stdout)
print("Exit code:", result.returncode)
# Parse output
lines = result.stdout.strip().split('\n')
total_line = [l for l in lines if l.startswith('Total lines:')]
code_line = [l for l in lines if l.startswith('Python code lines:')]
assert total_line, "Missing 'Total lines:' output"
assert code_line, "Missing 'Python code lines:' output"
total = int(total_line[0].split(':')[1].strip())
code = int(code_line[0].split(':')[1].strip())
# fibonacci.py has 49 lines, 40 code lines
assert total == 49, f"Expected 49 total lines, got {total}"
assert code == 40, f"Expected 40 code lines, got {code}"
print("TEST PASSED: linecount_pycount.py correctly counts lines")
return 0
if __name__ == '__main__':
sys.exit(test_linecount())