From b0c8ffb1d419e01392de82134c86687f49306f20 Mon Sep 17 00:00:00 2001
From: ankitjavalkar
Date: Thu, 8 Oct 2015 15:56:13 +0530
Subject: Add missing evaluator tests

---
 yaksh/tests/__init__.py               |  0
 yaksh/tests/test_bash_evaluation.py   | 41 +++++++++++++++++++
 yaksh/tests/test_c_cpp_evaluation.py  | 77 +++++++++++++++++++++++++++++++++++
 yaksh/tests/test_code_evaluation.py   | 24 +++++++++++
 yaksh/tests/test_java_evaluation.py   | 53 ++++++++++++++++++++++++
 yaksh/tests/test_python_evaluation.py | 53 ++++++++++++++++++++++++
 yaksh/tests/test_scilab_evaluation.py | 47 +++++++++++++++++++++
 7 files changed, 295 insertions(+)
 create mode 100644 yaksh/tests/__init__.py
 create mode 100644 yaksh/tests/test_bash_evaluation.py
 create mode 100644 yaksh/tests/test_c_cpp_evaluation.py
 create mode 100644 yaksh/tests/test_code_evaluation.py
 create mode 100644 yaksh/tests/test_java_evaluation.py
 create mode 100644 yaksh/tests/test_python_evaluation.py
 create mode 100644 yaksh/tests/test_scilab_evaluation.py

diff --git a/yaksh/tests/__init__.py b/yaksh/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/yaksh/tests/test_bash_evaluation.py b/yaksh/tests/test_bash_evaluation.py
new file mode 100644
index 0000000..c6a5408
--- /dev/null
+++ b/yaksh/tests/test_bash_evaluation.py
@@ -0,0 +1,41 @@
+import unittest
+import os
+from yaksh.bash_code_evaluator import BashCodeEvaluator
+from yaksh.settings import SERVER_TIMEOUT
+
+class BashEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "bash"
+        self.ref_code_path = "bash_files/sample.sh,bash_files/sample.args"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+        self.test = None
+
+    def test_correct_answer(self):
+        user_answer = "#!/bin/bash\n[[ $# -eq 2 ]] && echo $(( $1 + $2 )) && exit $(( $1 + $2 ))"
+        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_error(self):
+        user_answer = "#!/bin/bash\n[[ $# -eq 2 ]] && echo $(( $1 - $2 )) && exit $(( $1 - $2 ))"
+        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertTrue("Error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "#!/bin/bash\nwhile [ 1 ] ; do echo "" > /dev/null ; done"
+        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/tests/test_c_cpp_evaluation.py b/yaksh/tests/test_c_cpp_evaluation.py
new file mode 100644
index 0000000..d01cc9c
--- /dev/null
+++ b/yaksh/tests/test_c_cpp_evaluation.py
@@ -0,0 +1,77 @@
+import unittest
+import os
+from yaksh.cpp_code_evaluator import CppCodeEvaluator
+from yaksh.settings import SERVER_TIMEOUT
+
+class CEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "C"
+        self.ref_code_path = "c_cpp_files/main.cpp"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+        self.test = None
+
+    def test_correct_answer(self):
+        user_answer = "int add(int a, int b)\n{return a+b;}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_compilation_error(self):
+        user_answer = "int add(int a, int b)\n{return a+b}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertTrue("Compilation Error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "int add(int a, int b)\n{while(1>0){}}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+
+###############################################################################
+class CppEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "CPP"
+        self.ref_code_path = "c_cpp_files/main.cpp"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+        self.test = None
+
+    def test_correct_answer(self):
+        user_answer = "int add(int a, int b)\n{return a+b;}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_compilation_error(self):
+        user_answer = "int add(int a, int b)\n{return a+b}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertTrue("Compilation Error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "int add(int a, int b)\n{while(1>0){}}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/tests/test_code_evaluation.py b/yaksh/tests/test_code_evaluation.py
new file mode 100644
index 0000000..84701fb
--- /dev/null
+++ b/yaksh/tests/test_code_evaluation.py
@@ -0,0 +1,24 @@
+import unittest
+import os
+from yaksh import python_code_evaluator
+from yaksh.language_registry import _LanguageRegistry, set_registry, get_registry
+from yaksh.settings import SERVER_TIMEOUT
+
+
+class RegistryTestCase(unittest.TestCase):
+    def setUp(self):
+        set_registry()
+        self.registry_object = get_registry()
+        self.language_registry = _LanguageRegistry()
+
+    def test_set_register(self):
+        class_name = getattr(python_code_evaluator, 'PythonCodeEvaluator')
+        self.registry_object.register("python", "yaksh.python_code_evaluator.PythonCodeEvaluator")
+        self.assertEquals(self.registry_object.get_class("python"), class_name)
+
+    def tearDown(self):
+        self.registry_object = None
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/tests/test_java_evaluation.py b/yaksh/tests/test_java_evaluation.py
new file mode 100644
index 0000000..dfa1066
--- /dev/null
+++ b/yaksh/tests/test_java_evaluation.py
@@ -0,0 +1,53 @@
+import unittest
+import os
+from yaksh import code_evaluator as evaluator
+from yaksh.java_code_evaluator import JavaCodeEvaluator
+
+
+class JavaEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "java"
+        self.ref_code_path = "java_files/main_square.java"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        evaluator.SERVER_TIMEOUT = 9
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in "
+                            "your code.").format(evaluator.SERVER_TIMEOUT)
+        self.test = None
+
+    def tearDown(self):
+        evaluator.SERVER_TIMEOUT = 2
+
+    def test_correct_answer(self):
+        user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a;\n\t}\n}"
+        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+                                         self.language, user_answer,
+                                         self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_error(self):
+        user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a"
+        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+                                         self.language, user_answer,
+                                         self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertTrue("Error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "class Test {\n\tint square_num(int a) {\n\t\twhile(0==0){\n\t\t}\n\t}\n}"
+        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+                                         self.language, user_answer,
+                                         self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/tests/test_python_evaluation.py b/yaksh/tests/test_python_evaluation.py
new file mode 100644
index 0000000..0478353
--- /dev/null
+++ b/yaksh/tests/test_python_evaluation.py
@@ -0,0 +1,53 @@
+import unittest
+import os
+from yaksh.python_code_evaluator import PythonCodeEvaluator
+from yaksh.settings import SERVER_TIMEOUT
+
+class PythonEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "Python"
+        self.test = None
+        self.test_case_data = [{"func_name": "add", 
+                                 "expected_answer": "5", 
+                                 "test_id": u'null', 
+                                 "pos_args": ["3", "2"], 
+                                 "kw_args": {}
+                                }]
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+
+    def test_correct_answer(self):
+        user_answer = "def add(a, b):\n\treturn a + b"""
+        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
+        result = get_class.evaluate()
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_incorrect_answer(self):
+        user_answer = "def add(a, b):\n\treturn a - b"
+        test_case_data = [{"func_name": "add", 
+                                 "expected_answer": "5", 
+                                 "test_id": u'null', 
+                                 "pos_args": ["3", "2"], 
+                                 "kw_args": {}
+                                }]
+        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
+        result = get_class.evaluate()
+        self.assertFalse(result.get("success"))
+        self.assertEqual(result.get("error"), "AssertionError  in: assert add(3, 2) == 5")
+
+    def test_infinite_loop(self):
+        user_answer = "def add(a, b):\n\twhile True:\n\t\tpass"""
+        test_case_data = [{"func_name": "add", 
+                                 "expected_answer": "5", 
+                                 "test_id": u'null', 
+                                 "pos_args": ["3", "2"], 
+                                 "kw_args": {}
+                                }]
+        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
+        result = get_class.evaluate()
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/tests/test_scilab_evaluation.py b/yaksh/tests/test_scilab_evaluation.py
new file mode 100644
index 0000000..30af041
--- /dev/null
+++ b/yaksh/tests/test_scilab_evaluation.py
@@ -0,0 +1,47 @@
+import unittest
+import os
+from yaksh.scilab_code_evaluator import ScilabCodeEvaluator
+from yaksh.settings import SERVER_TIMEOUT
+
+class ScilabEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "scilab"
+        self.ref_code_path = "scilab_files/test_add.sce"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+        self.test = None
+
+    def test_correct_answer(self):
+        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a+b;\nendfunction"
+        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
+                                             self.language, user_answer,
+                                             self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_error(self):
+        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a+b;\ndis(\tendfunction"
+        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
+                                             self.language, user_answer,
+                                             self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertTrue("error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a;\nwhile(1==1)\nend\nendfunction"
+        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
+                                         self.language, user_answer,
+                                         self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
-- 
cgit 


From bc5fc32fdf8015a069a0a22454400b5ed7b03abc Mon Sep 17 00:00:00 2001
From: ankitjavalkar
Date: Fri, 9 Oct 2015 10:57:36 +0530
Subject: move tests to new dir and modify travis.yml

---
 .travis.yml                                     |  4 +-
 yaksh/evaluator_tests/__init__.py               |  0
 yaksh/evaluator_tests/test_bash_evaluation.py   | 41 +++++++++++++
 yaksh/evaluator_tests/test_c_cpp_evaluation.py  | 77 +++++++++++++++++++++++++
 yaksh/evaluator_tests/test_code_evaluation.py   | 24 ++++++++
 yaksh/evaluator_tests/test_java_evaluation.py   | 53 +++++++++++++++++
 yaksh/evaluator_tests/test_python_evaluation.py | 53 +++++++++++++++++
 yaksh/evaluator_tests/test_scilab_evaluation.py | 47 +++++++++++++++
 yaksh/tests/__init__.py                         |  0
 yaksh/tests/test_bash_evaluation.py             | 41 -------------
 yaksh/tests/test_c_cpp_evaluation.py            | 77 -------------------------
 yaksh/tests/test_code_evaluation.py             | 24 --------
 yaksh/tests/test_java_evaluation.py             | 53 -----------------
 yaksh/tests/test_python_evaluation.py           | 53 -----------------
 yaksh/tests/test_scilab_evaluation.py           | 47 ---------------
 15 files changed, 297 insertions(+), 297 deletions(-)
 create mode 100644 yaksh/evaluator_tests/__init__.py
 create mode 100644 yaksh/evaluator_tests/test_bash_evaluation.py
 create mode 100644 yaksh/evaluator_tests/test_c_cpp_evaluation.py
 create mode 100644 yaksh/evaluator_tests/test_code_evaluation.py
 create mode 100644 yaksh/evaluator_tests/test_java_evaluation.py
 create mode 100644 yaksh/evaluator_tests/test_python_evaluation.py
 create mode 100644 yaksh/evaluator_tests/test_scilab_evaluation.py
 delete mode 100644 yaksh/tests/__init__.py
 delete mode 100644 yaksh/tests/test_bash_evaluation.py
 delete mode 100644 yaksh/tests/test_c_cpp_evaluation.py
 delete mode 100644 yaksh/tests/test_code_evaluation.py
 delete mode 100644 yaksh/tests/test_java_evaluation.py
 delete mode 100644 yaksh/tests/test_python_evaluation.py
 delete mode 100644 yaksh/tests/test_scilab_evaluation.py

diff --git a/.travis.yml b/.travis.yml
index d70a43b..dea6396 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,7 +9,7 @@ env:
 
 # command to install dependencies
 install:
-  - "easy_install git+https://github.com/FOSSEE/online_test.git#egg=django_exam-0.1"
+  - pip install git+https://github.com/FOSSEE/online_test.git#egg=yaksh-0.1
   - pip install -q Django==$DJANGO --use-mirrors
 
 before_install:
@@ -18,5 +18,5 @@ before_install:
 
 # command to run tests
 script: 
-  - nosetests ./yaksh/tests/
+  - nosetests ./yaksh/evaluator_tests/
   - python manage.py test
\ No newline at end of file
diff --git a/yaksh/evaluator_tests/__init__.py b/yaksh/evaluator_tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/yaksh/evaluator_tests/test_bash_evaluation.py b/yaksh/evaluator_tests/test_bash_evaluation.py
new file mode 100644
index 0000000..c6a5408
--- /dev/null
+++ b/yaksh/evaluator_tests/test_bash_evaluation.py
@@ -0,0 +1,41 @@
+import unittest
+import os
+from yaksh.bash_code_evaluator import BashCodeEvaluator
+from yaksh.settings import SERVER_TIMEOUT
+
+class BashEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "bash"
+        self.ref_code_path = "bash_files/sample.sh,bash_files/sample.args"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+        self.test = None
+
+    def test_correct_answer(self):
+        user_answer = "#!/bin/bash\n[[ $# -eq 2 ]] && echo $(( $1 + $2 )) && exit $(( $1 + $2 ))"
+        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_error(self):
+        user_answer = "#!/bin/bash\n[[ $# -eq 2 ]] && echo $(( $1 - $2 )) && exit $(( $1 - $2 ))"
+        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertTrue("Error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "#!/bin/bash\nwhile [ 1 ] ; do echo "" > /dev/null ; done"
+        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/evaluator_tests/test_c_cpp_evaluation.py b/yaksh/evaluator_tests/test_c_cpp_evaluation.py
new file mode 100644
index 0000000..d01cc9c
--- /dev/null
+++ b/yaksh/evaluator_tests/test_c_cpp_evaluation.py
@@ -0,0 +1,77 @@
+import unittest
+import os
+from yaksh.cpp_code_evaluator import CppCodeEvaluator
+from yaksh.settings import SERVER_TIMEOUT
+
+class CEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "C"
+        self.ref_code_path = "c_cpp_files/main.cpp"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+        self.test = None
+
+    def test_correct_answer(self):
+        user_answer = "int add(int a, int b)\n{return a+b;}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_compilation_error(self):
+        user_answer = "int add(int a, int b)\n{return a+b}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertTrue("Compilation Error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "int add(int a, int b)\n{while(1>0){}}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+
+###############################################################################
+class CppEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "CPP"
+        self.ref_code_path = "c_cpp_files/main.cpp"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+        self.test = None
+
+    def test_correct_answer(self):
+        user_answer = "int add(int a, int b)\n{return a+b;}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_compilation_error(self):
+        user_answer = "int add(int a, int b)\n{return a+b}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertTrue("Compilation Error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "int add(int a, int b)\n{while(1>0){}}"
+        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/evaluator_tests/test_code_evaluation.py b/yaksh/evaluator_tests/test_code_evaluation.py
new file mode 100644
index 0000000..84701fb
--- /dev/null
+++ b/yaksh/evaluator_tests/test_code_evaluation.py
@@ -0,0 +1,24 @@
+import unittest
+import os
+from yaksh import python_code_evaluator
+from yaksh.language_registry import _LanguageRegistry, set_registry, get_registry
+from yaksh.settings import SERVER_TIMEOUT
+
+
+class RegistryTestCase(unittest.TestCase):
+    def setUp(self):
+        set_registry()
+        self.registry_object = get_registry()
+        self.language_registry = _LanguageRegistry()
+
+    def test_set_register(self):
+        class_name = getattr(python_code_evaluator, 'PythonCodeEvaluator')
+        self.registry_object.register("python", "yaksh.python_code_evaluator.PythonCodeEvaluator")
+        self.assertEquals(self.registry_object.get_class("python"), class_name)
+
+    def tearDown(self):
+        self.registry_object = None
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/evaluator_tests/test_java_evaluation.py b/yaksh/evaluator_tests/test_java_evaluation.py
new file mode 100644
index 0000000..dfa1066
--- /dev/null
+++ b/yaksh/evaluator_tests/test_java_evaluation.py
@@ -0,0 +1,53 @@
+import unittest
+import os
+from yaksh import code_evaluator as evaluator
+from yaksh.java_code_evaluator import JavaCodeEvaluator
+
+
+class JavaEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "java"
+        self.ref_code_path = "java_files/main_square.java"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        evaluator.SERVER_TIMEOUT = 9
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in "
+                            "your code.").format(evaluator.SERVER_TIMEOUT)
+        self.test = None
+
+    def tearDown(self):
+        evaluator.SERVER_TIMEOUT = 2
+
+    def test_correct_answer(self):
+        user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a;\n\t}\n}"
+        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+                                         self.language, user_answer,
+                                         self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_error(self):
+        user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a"
+        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+                                         self.language, user_answer,
+                                         self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertTrue("Error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "class Test {\n\tint square_num(int a) {\n\t\twhile(0==0){\n\t\t}\n\t}\n}"
+        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+                                         self.language, user_answer,
+                                         self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/evaluator_tests/test_python_evaluation.py b/yaksh/evaluator_tests/test_python_evaluation.py
new file mode 100644
index 0000000..0478353
--- /dev/null
+++ b/yaksh/evaluator_tests/test_python_evaluation.py
@@ -0,0 +1,53 @@
+import unittest
+import os
+from yaksh.python_code_evaluator import PythonCodeEvaluator
+from yaksh.settings import SERVER_TIMEOUT
+
+class PythonEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "Python"
+        self.test = None
+        self.test_case_data = [{"func_name": "add", 
+                                 "expected_answer": "5", 
+                                 "test_id": u'null', 
+                                 "pos_args": ["3", "2"], 
+                                 "kw_args": {}
+                                }]
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+
+    def test_correct_answer(self):
+        user_answer = "def add(a, b):\n\treturn a + b"""
+        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
+        result = get_class.evaluate()
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_incorrect_answer(self):
+        user_answer = "def add(a, b):\n\treturn a - b"
+        test_case_data = [{"func_name": "add", 
+                                 "expected_answer": "5", 
+                                 "test_id": u'null', 
+                                 "pos_args": ["3", "2"], 
+                                 "kw_args": {}
+                                }]
+        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
+        result = get_class.evaluate()
+        self.assertFalse(result.get("success"))
+        self.assertEqual(result.get("error"), "AssertionError  in: assert add(3, 2) == 5")
+
+    def test_infinite_loop(self):
+        user_answer = "def add(a, b):\n\twhile True:\n\t\tpass"""
+        test_case_data = [{"func_name": "add", 
+                                 "expected_answer": "5", 
+                                 "test_id": u'null', 
+                                 "pos_args": ["3", "2"], 
+                                 "kw_args": {}
+                                }]
+        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
+        result = get_class.evaluate()
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/evaluator_tests/test_scilab_evaluation.py b/yaksh/evaluator_tests/test_scilab_evaluation.py
new file mode 100644
index 0000000..30af041
--- /dev/null
+++ b/yaksh/evaluator_tests/test_scilab_evaluation.py
@@ -0,0 +1,47 @@
+import unittest
+import os
+from yaksh.scilab_code_evaluator import ScilabCodeEvaluator
+from yaksh.settings import SERVER_TIMEOUT
+
+class ScilabEvaluationTestCases(unittest.TestCase):
+    def setUp(self):
+        self.language = "scilab"
+        self.ref_code_path = "scilab_files/test_add.sce"
+        self.in_dir = "/tmp"
+        self.test_case_data = []
+        self.timeout_msg = ("Code took more than {0} seconds to run. "
+                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+        self.test = None
+
+    def test_correct_answer(self):
+        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a+b;\nendfunction"
+        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
+                                             self.language, user_answer,
+                                             self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertTrue(result.get("success"))
+        self.assertEqual(result.get("error"), "Correct answer")
+
+    def test_error(self):
+        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a+b;\ndis(\tendfunction"
+        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
+                                             self.language, user_answer,
+                                             self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+ 
+        self.assertFalse(result.get("success"))
+        self.assertTrue("error" in result.get("error"))
+
+    def test_infinite_loop(self):
+        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a;\nwhile(1==1)\nend\nendfunction"
+        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
+                                         self.language, user_answer,
+                                         self.ref_code_path, self.in_dir)
+        result = get_class.evaluate()
+
+        self.assertFalse(result.get("success"))
+        self.assertEquals(result.get("error"), self.timeout_msg)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/yaksh/tests/__init__.py b/yaksh/tests/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/yaksh/tests/test_bash_evaluation.py b/yaksh/tests/test_bash_evaluation.py
deleted file mode 100644
index c6a5408..0000000
--- a/yaksh/tests/test_bash_evaluation.py
+++ /dev/null
@@ -1,41 +0,0 @@
-import unittest
-import os
-from yaksh.bash_code_evaluator import BashCodeEvaluator
-from yaksh.settings import SERVER_TIMEOUT
-
-class BashEvaluationTestCases(unittest.TestCase):
-    def setUp(self):
-        self.language = "bash"
-        self.ref_code_path = "bash_files/sample.sh,bash_files/sample.args"
-        self.in_dir = "/tmp"
-        self.test_case_data = []
-        self.timeout_msg = ("Code took more than {0} seconds to run. "
-                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
-        self.test = None
-
-    def test_correct_answer(self):
-        user_answer = "#!/bin/bash\n[[ $# -eq 2 ]] && echo $(( $1 + $2 )) && exit $(( $1 + $2 ))"
-        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertTrue(result.get("success"))
-        self.assertEqual(result.get("error"), "Correct answer")
-
-    def test_error(self):
-        user_answer = "#!/bin/bash\n[[ $# -eq 2 ]] && echo $(( $1 - $2 )) && exit $(( $1 - $2 ))"
-        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertFalse(result.get("success"))
-        self.assertTrue("Error" in result.get("error"))
-
-    def test_infinite_loop(self):
-        user_answer = "#!/bin/bash\nwhile [ 1 ] ; do echo "" > /dev/null ; done"
-        get_class = BashCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertFalse(result.get("success"))
-        self.assertEquals(result.get("error"), self.timeout_msg)
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/yaksh/tests/test_c_cpp_evaluation.py b/yaksh/tests/test_c_cpp_evaluation.py
deleted file mode 100644
index d01cc9c..0000000
--- a/yaksh/tests/test_c_cpp_evaluation.py
+++ /dev/null
@@ -1,77 +0,0 @@
-import unittest
-import os
-from yaksh.cpp_code_evaluator import CppCodeEvaluator
-from yaksh.settings import SERVER_TIMEOUT
-
-class CEvaluationTestCases(unittest.TestCase):
-    def setUp(self):
-        self.language = "C"
-        self.ref_code_path = "c_cpp_files/main.cpp"
-        self.in_dir = "/tmp"
-        self.test_case_data = []
-        self.timeout_msg = ("Code took more than {0} seconds to run. "
-                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
-        self.test = None
-
-    def test_correct_answer(self):
-        user_answer = "int add(int a, int b)\n{return a+b;}"
-        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertTrue(result.get("success"))
-        self.assertEqual(result.get("error"), "Correct answer")
-
-    def test_compilation_error(self):
-        user_answer = "int add(int a, int b)\n{return a+b}"
-        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertFalse(result.get("success"))
-        self.assertTrue("Compilation Error" in result.get("error"))
-
-    def test_infinite_loop(self):
-        user_answer = "int add(int a, int b)\n{while(1>0){}}"
-        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
- 
-        self.assertFalse(result.get("success"))
-        self.assertEquals(result.get("error"), self.timeout_msg)
-
-
-###############################################################################
-class CppEvaluationTestCases(unittest.TestCase):
-    def setUp(self):
-        self.language = "CPP"
-        self.ref_code_path = "c_cpp_files/main.cpp"
-        self.in_dir = "/tmp"
-        self.test_case_data = []
-        self.timeout_msg = ("Code took more than {0} seconds to run. "
-                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
-        self.test = None
-
-    def test_correct_answer(self):
-        user_answer = "int add(int a, int b)\n{return a+b;}"
-        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertTrue(result.get("success"))
-        self.assertEqual(result.get("error"), "Correct answer")
-
-    def test_compilation_error(self):
-        user_answer = "int add(int a, int b)\n{return a+b}"
-        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertFalse(result.get("success"))
-        self.assertTrue("Compilation Error" in result.get("error"))
-
-    def test_infinite_loop(self):
-        user_answer = "int add(int a, int b)\n{while(1>0){}}"
-        get_class = CppCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
- 
-        self.assertFalse(result.get("success"))
-        self.assertEquals(result.get("error"), self.timeout_msg)
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/yaksh/tests/test_code_evaluation.py b/yaksh/tests/test_code_evaluation.py
deleted file mode 100644
index 84701fb..0000000
--- a/yaksh/tests/test_code_evaluation.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import unittest
-import os
-from yaksh import python_code_evaluator
-from yaksh.language_registry import _LanguageRegistry, set_registry, get_registry
-from yaksh.settings import SERVER_TIMEOUT
-
-
-class RegistryTestCase(unittest.TestCase):
-    def setUp(self):
-        set_registry()
-        self.registry_object = get_registry()
-        self.language_registry = _LanguageRegistry()
-
-    def test_set_register(self):
-        class_name = getattr(python_code_evaluator, 'PythonCodeEvaluator')
-        self.registry_object.register("python", "yaksh.python_code_evaluator.PythonCodeEvaluator")
-        self.assertEquals(self.registry_object.get_class("python"), class_name)
-
-    def tearDown(self):
-        self.registry_object = None
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/yaksh/tests/test_java_evaluation.py b/yaksh/tests/test_java_evaluation.py
deleted file mode 100644
index dfa1066..0000000
--- a/yaksh/tests/test_java_evaluation.py
+++ /dev/null
@@ -1,53 +0,0 @@
-import unittest
-import os
-from yaksh import code_evaluator as evaluator
-from yaksh.java_code_evaluator import JavaCodeEvaluator
-
-
-class JavaEvaluationTestCases(unittest.TestCase):
-    def setUp(self):
-        self.language = "java"
-        self.ref_code_path = "java_files/main_square.java"
-        self.in_dir = "/tmp"
-        self.test_case_data = []
-        evaluator.SERVER_TIMEOUT = 9
-        self.timeout_msg = ("Code took more than {0} seconds to run. "
-                            "You probably have an infinite loop in "
-                            "your code.").format(evaluator.SERVER_TIMEOUT)
-        self.test = None
-
-    def tearDown(self):
-        evaluator.SERVER_TIMEOUT = 2
-
-    def test_correct_answer(self):
-        user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a;\n\t}\n}"
-        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
-                                         self.language, user_answer,
-                                         self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertTrue(result.get("success"))
-        self.assertEqual(result.get("error"), "Correct answer")
-
-    def test_error(self):
-        user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a"
-        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
-                                         self.language, user_answer,
-                                         self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
- 
-        self.assertFalse(result.get("success"))
-        self.assertTrue("Error" in result.get("error"))
-
-    def test_infinite_loop(self):
-        user_answer = "class Test {\n\tint square_num(int a) {\n\t\twhile(0==0){\n\t\t}\n\t}\n}"
-        get_class = JavaCodeEvaluator(self.test_case_data, self.test,
-                                         self.language, user_answer,
-                                         self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
- 
-        self.assertFalse(result.get("success"))
-        self.assertEquals(result.get("error"), self.timeout_msg)
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/yaksh/tests/test_python_evaluation.py b/yaksh/tests/test_python_evaluation.py
deleted file mode 100644
index 0478353..0000000
--- a/yaksh/tests/test_python_evaluation.py
+++ /dev/null
@@ -1,53 +0,0 @@
-import unittest
-import os
-from yaksh.python_code_evaluator import PythonCodeEvaluator
-from yaksh.settings import SERVER_TIMEOUT
-
-class PythonEvaluationTestCases(unittest.TestCase):
-    def setUp(self):
-        self.language = "Python"
-        self.test = None
-        self.test_case_data = [{"func_name": "add", 
-                                 "expected_answer": "5", 
-                                 "test_id": u'null', 
-                                 "pos_args": ["3", "2"], 
-                                 "kw_args": {}
-                                }]
-        self.timeout_msg = ("Code took more than {0} seconds to run. "
-                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
-
-    def test_correct_answer(self):
-        user_answer = "def add(a, b):\n\treturn a + b"""
-        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
-        result = get_class.evaluate()
-        self.assertTrue(result.get("success"))
-        self.assertEqual(result.get("error"), "Correct answer")
-
-    def test_incorrect_answer(self):
-        user_answer = "def add(a, b):\n\treturn a - b"
-        test_case_data = [{"func_name": "add", 
-                                 "expected_answer": "5", 
-                                 "test_id": u'null', 
-                                 "pos_args": ["3", "2"], 
-                                 "kw_args": {}
-                                }]
-        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
-        result = get_class.evaluate()
-        self.assertFalse(result.get("success"))
-        self.assertEqual(result.get("error"), "AssertionError  in: assert add(3, 2) == 5")
-
-    def test_infinite_loop(self):
-        user_answer = "def add(a, b):\n\twhile True:\n\t\tpass"""
-        test_case_data = [{"func_name": "add", 
-                                 "expected_answer": "5", 
-                                 "test_id": u'null', 
-                                 "pos_args": ["3", "2"], 
-                                 "kw_args": {}
-                                }]
-        get_class = PythonCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, ref_code_path=None, in_dir=None)
-        result = get_class.evaluate()
-        self.assertFalse(result.get("success"))
-        self.assertEquals(result.get("error"), self.timeout_msg)
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/yaksh/tests/test_scilab_evaluation.py b/yaksh/tests/test_scilab_evaluation.py
deleted file mode 100644
index 30af041..0000000
--- a/yaksh/tests/test_scilab_evaluation.py
+++ /dev/null
@@ -1,47 +0,0 @@
-import unittest
-import os
-from yaksh.scilab_code_evaluator import ScilabCodeEvaluator
-from yaksh.settings import SERVER_TIMEOUT
-
-class ScilabEvaluationTestCases(unittest.TestCase):
-    def setUp(self):
-        self.language = "scilab"
-        self.ref_code_path = "scilab_files/test_add.sce"
-        self.in_dir = "/tmp"
-        self.test_case_data = []
-        self.timeout_msg = ("Code took more than {0} seconds to run. "
-                            "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
-        self.test = None
-
-    def test_correct_answer(self):
-        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a+b;\nendfunction"
-        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
-                                             self.language, user_answer,
-                                             self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertTrue(result.get("success"))
-        self.assertEqual(result.get("error"), "Correct answer")
-
-    def test_error(self):
-        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a+b;\ndis(\tendfunction"
-        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
-                                             self.language, user_answer,
-                                             self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
- 
-        self.assertFalse(result.get("success"))
-        self.assertTrue("error" in result.get("error"))
-
-    def test_infinite_loop(self):
-        user_answer = "funcprot(0)\nfunction[c]=add(a,b)\n\tc=a;\nwhile(1==1)\nend\nendfunction"
-        get_class = ScilabCodeEvaluator(self.test_case_data, self.test,
-                                         self.language, user_answer,
-                                         self.ref_code_path, self.in_dir)
-        result = get_class.evaluate()
-
-        self.assertFalse(result.get("success"))
-        self.assertEquals(result.get("error"), self.timeout_msg)
-
-if __name__ == '__main__':
-    unittest.main()
-- 
cgit 


From 5061c2a44ca6a9f69793a7cc00a1262aa2531fc4 Mon Sep 17 00:00:00 2001
From: ankitjavalkar
Date: Fri, 9 Oct 2015 15:45:10 +0530
Subject: Fix test cases

---
 .travis.yml    |  6 +++---
 yaksh/tests.py | 17 ++++++++---------
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index dea6396..8f48a88 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,6 +17,6 @@ before_install:
   - sudo apt-get install -y scilab
 
 # command to run tests
-script: 
-  - nosetests ./yaksh/evaluator_tests/
-  - python manage.py test
\ No newline at end of file
+script:
+  - test $DJANGO=1.5.7 && nosetests ./yaksh/evaluator_tests/
+  - python manage.py test yaksh
\ No newline at end of file
diff --git a/yaksh/tests.py b/yaksh/tests.py
index 77ac56f..ce1e0e2 100644
--- a/yaksh/tests.py
+++ b/yaksh/tests.py
@@ -19,10 +19,11 @@ def setUpModule():
         Question.objects.create(summary='Q%d' % (i), points=1)
 
     # create a quiz
-    Quiz.objects.create(start_date='2014-06-16', duration=30, active=False,
+    Quiz.objects.create(start_date_time=datetime.datetime(2015, 10, 9, 10, 8, 15, 0),
+                         duration=30, active=False,
                          attempts_allowed=-1, time_between_attempts=0,
-                        description='demo quiz', pass_criteria=40,
-                        language='Python', prerequisite=None)
+                         description='demo quiz', pass_criteria=40,
+                         language='Python', prerequisite=None)
 
 
 def tearDownModule():
@@ -51,10 +52,6 @@ class ProfileTestCases(unittest.TestCase):
 class QuestionTestCases(unittest.TestCase):
     def setUp(self):
         # Single question details
-        # self.question = Question(summary='Demo question', language='Python',
-        #                          type='Code', active=True,
-        #                          description='Write a function', points=1.0,
-        #                          test='Test Cases', snippet='def myfunc()')
         self.question = Question(summary='Demo question', language='Python',
                                  type='Code', active=True,
                                  description='Write a function', points=1.0,
@@ -130,8 +127,10 @@ class QuizTestCases(unittest.TestCase):
 
     def test_quiz(self):
         """ Test Quiz"""
-        self.assertEqual((self.quiz.start_date).strftime('%Y-%m-%d'),
-                         '2014-06-16')
+        self.assertEqual((self.quiz.start_date_time).strftime('%Y-%m-%d'),
+                         '2015-10-09')
+        self.assertEqual((self.quiz.start_date_time).strftime('%H:%M:%S'),
+                         '10:08:15')
         self.assertEqual(self.quiz.duration, 30)
         self.assertTrue(self.quiz.active is False)
         self.assertEqual(self.quiz.description, 'demo quiz')
-- 
cgit