def _runEventEditor(self, args): eventEditor = EventEditor(args) editing = True editorMode = EDITOR_MODE.EDITOR_ASK while editing: if editorMode == EDITOR_MODE.EDITOR_EXIT: editing = False # leave editor mode loop elif editorMode == EDITOR_MODE.EDITOR_ASK: editorMode = self._promptForEditorCommand() elif editorMode == EDITOR_MODE.EDITOR_LIST: eventEditor.printNumberedEventList() editorMode = EDITOR_MODE.EDITOR_ASK elif editorMode == EDITOR_MODE.EDITOR_MOVE: oldPosition = self._promptForNumber("Select index which will move: ") newPosition = self._promptForNumber("Select destination index: ") eventEditor._moveEvent(int(oldPosition), int(newPosition)) editorMode = EDITOR_MODE.EDITOR_ASK elif editorMode == EDITOR_MODE.EDITOR_CHANGE_TIME: self._editorChangeTimeHelper(eventEditor) editorMode = EDITOR_MODE.EDITOR_ASK elif editorMode == EDITOR_MODE.EDITOR_CHANGE_EVENT: self._editorChangeEventHelper(eventEditor) editorMode = EDITOR_MODE.EDITOR_ASK elif editorMode == EDITOR_MODE.EDITOR_SAVE: self._editorSaveHelpers(eventEditor) editorMode = EDITOR_MODE.EDITOR_ASK else: return
def test_moveEvent_Same_Location(self): ed = EventEditor("") ed.eventList = ["a","b","c"] ed._moveEvent(0,0) self.assertEqual(["a","b","c"],ed._eventList) ed.eventList = ["a","b","c"] ed._moveEvent(1,1) self.assertEqual(["a","b","c"],ed._eventList) ed.eventList = ["a","b","c"] ed._moveEvent(2,2) self.assertEqual(["a","b","c"],ed._eventList)
def test_moveEvent(self): ed = EventEditor("") ed.eventList =["a","b","c"] ed._moveEvent(1,0) self.assertEqual(["b","a","c"],ed._eventList) ed.eventList = ["a","b","c"] ed._moveEvent(2,0) self.assertEqual(["c","a","b"],ed._eventList) ed.eventList = ["a","b","c"]
def test_moveEvent_Bad_Location_Low(self): ed = EventEditor("") ed.eventList =["a","b","c"] ed._moveEvent(1,-5) self.assertEqual(["b","a","c"],ed.eventList)
def test_changeEventY(self): ed = EventEditor("") newEvent = ed._changeEventY(2,{ "eventType" : "click" , "time" : 0, "x" : 200 , "y" : 300 }) self.assertEqual({ "eventType" : "click" , "time" : 0, "x" : 200 , "y" : 2 },newEvent)
def test_changEventY_None(self): with self.assertRaises(AssertionError) as cm: ed = EventEditor("") newEvent = ed._changeEventY(None,[0,200,300]) self.assertEqual('newY is non-numeric, None',str(cm.exception))
def test_changeEventX_Non_Numeric(self): with self.assertRaises(AssertionError) as cm: ed = EventEditor("") newEvent = ed._changeEventX("a",[0,200,300]) self.assertEqual('newX is non-numeric, \'a\'',str(cm.exception))
def test_set_eventList(self): ed = EventEditor("") ed.eventList = ["a"] self.assertEqual(["a"],ed.eventList)
def test_set_readLocation(self): ed = EventEditor("") ed.readLocation = "test.txt" self.assertEqual("test.txt",ed.readLocation)
def test_readEventList_Bad_Location(self): with self.assertRaises(IOError) as cm: ed = EventEditor("doesnt-exist.txt") ed._readEventList(ed.readLocation) self.assertEqual('[Errno 2] No such file or directory: \'doesnt-exist.txt\'',str(cm.exception))