#!/usr/bin/python '''Unit tests for DRS_buffer''' import sys if sys.argv[1] == 'cpython': import drs_buffer_mod else: import cython_drs_buffer_mod as drs_buffer_mod def simple_index(): '''Test simple indexing''' buffer_ = drs_buffer_mod.DRS_buffer() buffer_.extend('abc') character = chr(buffer_[1]) if character == 'b': return True else: print >> sys.stderr, "Second value was not 'b'", character return False def simple_slice(): '''Test simple slicing''' buffer_ = drs_buffer_mod.DRS_buffer() buffer_.extend('abcdefghijklmnopqrstuvwxyz') string = ''.join(chr(character) for character in buffer_[5:10]) if string == 'fghij': return True else: print >> sys.stderr, "step 1 slice was not 'fghij'", string return False def simple_delete_slice(): '''Test simple slicing''' buffer_ = drs_buffer_mod.DRS_buffer() buffer_.extend('abcdefghijklmnopqrstuvwxyz') del buffer_[0:25] string = ''.join(chr(character) for character in buffer_[:]) if string == 'z': return True else: print >> sys.stderr, "simple delete slice was not 'z'", string return False def main(): '''Main function''' all_good = True all_good &= simple_index() all_good &= simple_slice() all_good &= simple_delete_slice() if all_good: print >> sys.stderr, '%s: All tests passed' % sys.argv[0] else: print >> sys.stderr, '%s: One or more tests failed' % sys.argv[0] sys.exit(1) main()