import os
import io

fn read_file(file string, cap int) []string {
	mut lines := []string{}
	mut f := os.open(file) or { panic(err) }
	defer {
		f.close()
	}
	mut r := io.new_buffered_reader(reader: f, cap: cap)
	for {
		l := r.read_line() or { break }
		lines << l
		// println('Line: $l')
	}
	assert lines.len > 0
	assert r.end_of_stream == true
	println('------------------------------------------------ cap: ${cap:6}; read: ${lines.len:3} lines')
	return lines
}

fn test_file_reader() {
	for cap := 1; cap <= 10000; cap += 256 {
		lines := read_file(@FILE, cap)
		assert lines.last() == '// my last line'
	}
}

// my last line