def test_hasTopic(self):
 	course = codecs.open("testdata/BUSF-SHU 220.testjson", "r", "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     section = course["components"][0]
     self.assertEqual(section["topic"], "Chinese and International Accounting")
     self.assertEqual(len(section["classtimes"]), 2)
 def test_ignoreTestdates(self):
 	# ignore any single-day classtimes. eg: 12/15/2016-12/15/2016, 2-5.
     course = codecs.open("testdata/CHIN-SHU 2-1S1.testjson", "r", "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     section = course["components"][0]
     self.assertEqual(len(section["classtimes"]), 2)
 def test_multipleDateLines(self):
 	# some classes have sessions at eg. Mon/Wed 1pm, then one on Thu 3pm.
 	course = codecs.open("testdata/CHIN-SHU 403.testjson", "r", "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     section = course["components"][0]
     self.assertEqual(len(section["classtimes"]), 3)
 def test_Single(self):
     # basic test
     course = codecs.open("testdata/BUSF-SHU 206.testjson", "r",
                          "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     self.assertEqual(course["name"], "BUSF-SHU 206")
     self.assertEqual(course["title"],
                      "Investing And Financing In And With China")
     section = course["components"][0]
     self.assertEqual(section["number"], 19819)
     self.assertEqual(section["section"], "001")
     # self.assertEqual(section["status"], "Wait List (5)")
     self.assertEqual(section["location"], "Shanghai")
     self.assertEqual(section["componentType"], "Lecture")
     self.assertEqual(
         section["notes"],
         "This course satisfies the following: Major: BUSF: additional finance elective;BUSM: non-marketing elective"
     )
     self.assertEqual(section["units"], 4)
     self.assertEqual(section["classtimes"], [{
         "day": 0,
         "starttime": [13, 15],
         "endtime": [16, 15]
     }])
     self.assertEqual(section["instructor"], "Yu, Da")
 def test_Components(self):
     course = codecs.open("testdata/CSCI-SHU 101.testjson", "r", "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     self.assertIn("requiredcomponents", course)
     reqs = course["requiredcomponents"]
     self.assertIn("Lecture", reqs)
     self.assertIn("Recitation", reqs)
 def test_multipleDateLines(self):
     # some classes have sessions at eg. Mon/Wed 1pm, then one on Thu 3pm.
     course = codecs.open("testdata/CHIN-SHU 403.testjson", "r",
                          "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     section = course["components"][0]
     self.assertEqual(len(section["classtimes"]), 3)
 def test_ignoreTestdates(self):
     # ignore any single-day classtimes. eg: 12/15/2016-12/15/2016, 2-5.
     course = codecs.open("testdata/CHIN-SHU 2-1S1.testjson", "r",
                          "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     section = course["components"][0]
     self.assertEqual(len(section["classtimes"]), 2)
 def test_Components(self):
     course = codecs.open("testdata/CSCI-SHU 101.testjson", "r",
                          "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     self.assertIn("requiredcomponents", course)
     reqs = course["requiredcomponents"]
     self.assertIn("Lecture", reqs)
     self.assertIn("Recitation", reqs)
 def test_hasTopic(self):
     course = codecs.open("testdata/BUSF-SHU 220.testjson", "r",
                          "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     section = course["components"][0]
     self.assertEqual(section["topic"],
                      "Chinese and International Accounting")
     self.assertEqual(len(section["classtimes"]), 2)
 def test_Single(self):
 	# basic test
     course = codecs.open("testdata/BUSF-SHU 206.testjson", "r", "utf-8").read()
     course = json.loads(course)
     processcourse(course)
     self.assertEqual(course["name"], "BUSF-SHU 206")
     self.assertEqual(course["title"], "Investing And Financing In And With China")
     section = course["components"][0]
     self.assertEqual(section["number"], 19819)
     self.assertEqual(section["section"], "001")
     # self.assertEqual(section["status"], "Wait List (5)")
     self.assertEqual(section["location"], "Shanghai")
     self.assertEqual(section["componentType"], "Lecture")
     self.assertEqual(section["notes"], "This course satisfies the following: Major: BUSF: additional finance elective;BUSM: non-marketing elective")
     self.assertEqual(section["units"], 4)
     self.assertEqual(section["classtimes"], [{
             "day": 0,
             "starttime": [13, 15],
             "endtime": [16, 15]
         }])
     self.assertEqual(section["instructor"], "Yu, Da")