Esempio n. 1
0
 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))
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
    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)
Esempio n. 5
0
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)