def test_no_show_partial_match(self): test = Test( output_data=u'Hello World', show_partial_match=False, ) self.assertTupleEqual(test.validate('Hello')[0:2], (False, False)) self.assertTupleEqual(test.validate('Hello World')[0:2], (True, False))
def test_integration_2(self): test = Test( assignment_id=42, output_data=u'42 Bananas\n4711 Strawberrys\n1337 Apples\n', splitlines=True, sort=True, ) DBSession.add(test) DBSession.flush() test = DBSession.merge(test) d = u'#Result:\n4711 Strawberrys\n42 Bananas\n1337 Apples\n' result, _, expected, output, _ = test.validate(d) converted_output = test.unconvert(test.convert(d)) assert result is True, (expected, output, converted_output)
def test_integration_1(self): test = Test( assignment_id=42, output_data=u'1.0,2.0,3.0\n4.0,5.0,6.0\n7.0,8.0,9.0\n', separator=',', split=True, splitlines=True, parse_float=True, float_precision=1, ) DBSession.add(test) DBSession.flush() test = DBSession.merge(test) d = u'#Result:\n1,2,3\n4,5,6\n,7,8,9\n' result, _, expected, output, _ = test.validate(d) converted_output = test.unconvert(test.convert(d)) assert result is True, (expected, output, converted_output)
def setUp(self): '''Set up test with a simple assignment and test case''' self.a = Assignment( id=1, name='Assignment A', description='Write a program that says "Hello World!"', timeout=1) self.t = Test(input_type='stdin', output_type='stdout', assignment=self.a, output_data='Hello World!') self.s = User(user_name='student', display_name='Stu Dent', password='******', email_address='*****@*****.**') self.cc = Compiler(id=1, name='GCC', path='/usr/bin/gcc', argv='{srcfile} -o {binfile}', timeout=5) self.lc = Language(id=1, name='C', extension_src='c', compiler=self.cc) self.ip = Interpreter(id=1, name='Python 2.7', path='/usr/bin/python2.7', argv='{binfile}') self.lp = Language(id=2, name='Python', extension_src='py', extension_bin='py', interpreter=self.ip) # Java compiler self.cj = Compiler(id=2, name='JDK', path='/usr/bin/javac', argv='{srcfile}', timeout=10) # Java interpreter self.ij = Interpreter(id=2, name='JDK', path='/usr/bin/java', argv='-cp {path} {basename}') # Java language self.lj = Language(id=3, name='Java', extension_src='java', extension_bin='class', compiler=self.cj, interpreter=self.ij)
def _test_attr(args): kwargs, expected_output_data, good_output_data = args[0:3] bad_output_data = args[4:] test = Test(assignment_id=42, output_data=expected_output_data, **kwargs) DBSession.add(test) DBSession.flush() test = DBSession.merge(test) for d in good_output_data: result, _, expected, output, _ = test.validate(d) converted_output = test.unconvert(test.convert(d)) assert result is True, (expected, output, converted_output) for d in bad_output_data: result, _, expected, output, _ = test.validate(d) converted_output = test.unconvert(test.convert(d)) assert result is False, (expected, output, converted_output)