#!/usr/bin/env python

'''Unit tests for min_max_chunker_mod'''

from __future__ import with_statement

import os
import sys

import min_max_chunker_mod

def accuracy_test():
	'''Test that we get back accurate (esp. _complete_) data'''
	all_good = True

	with open('rcm-input-data', 'r') as file_:
		expected_data = file_.read()

	file_handle = os.open('rcm-input-data', os.O_RDONLY)
	actual_data = ''.join(min_max_chunker_mod.min_max_chunker(file_handle))

	if expected_data != actual_data:
		all_good = False
		sys.stderr.write('%s: expected != actual\n' % sys.argv[0])

	return all_good

def main():
	'''Main function'''
	all_good = True
	all_good &= accuracy_test()
	if all_good:
		sys.stderr.write('%s: All tests passed\n' % sys.argv[0])
	else:
		sys.stderr.write('%s: One or more tests failed\n' % sys.argv[0])
		sys.exit(1)

main()