#!/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()