예제 #1
0
    def test_activity_validator(self):
        # check invalid id
        activity = Activity("invalid", Common.convert_to_date("18.11.2016"),
                            Common.convert_to_time("16:47"), "description")

        self.assertRaises(ActivityValidatorException,
                          ActivityValidator.validate, activity)

        # check invalid date
        activity = Activity(1, "invalid", Common.convert_to_time("16:47"),
                            "description")

        self.assertRaises(ActivityValidatorException,
                          ActivityValidator.validate, activity)

        # check invalid time
        activity = Activity(1, Common.convert_to_date("18.11.2016"), "invalid",
                            "description")
        self.assertRaises(ActivityValidatorException,
                          ActivityValidator.validate, activity)

        # check invalid description
        activity = Activity(1, Common.convert_to_date("18.11.2016"),
                            Common.convert_to_time("16:47"), 123)
        self.assertRaises(ActivityValidatorException,
                          ActivityValidator.validate, activity)
예제 #2
0
class TestActivity(unittest.TestCase):
    def setUp(self):
        super().setUp()
        self.__activity = Activity(1, Common.convert_to_date("16.11.2016"),
                                   Common.convert_to_time("00:33"),
                                   "description")

    def test_entity_id(self):
        # test getter
        self.assertEqual(self.__activity.entity_id, 1,
                         "activity entity id should be 1")

    def test_entity_date(self):
        self.assertEqual(self.__activity.date,
                         Common.convert_to_date("16.11.2016"),
                         "activity date should be 16.11.2016")

    def test_entity_time(self):
        self.assertEqual(self.__activity.time, Common.convert_to_time("00:33"),
                         "activity time should be 0:33")

    def test_str(self):
        self.assertEqual(
            self.__activity.__str__(),
            "activity_id=1 date=2016-11-16 time=00:33:00 description=description",
            "str representation should match.")
예제 #3
0
    def read_entity(file_name):
        with open(file_name, 'r') as f:
            line = f.read()
            line = line.split(" ")
            entity = Activity(int(line[0]), Common.convert_to_date(line[1]),
                              Common.convert_to_time(line[2]), line[3])
            return entity

        return None
예제 #4
0
 def update(self, id, date, time, description):
     """Update an activity that macthes the given id.
     Args:
         id(uint): the id of the activity to be updated.
         date(datetime.date): the date on which the activity will take place.
         time(datetime.time): the time at which the activity will take place.
         description(str): the description of the activity.
     Returns:
         None
     """
     self.__activity_repository.update(Activity(id, date, time,
                                                description))
예제 #5
0
    def add(self, id, date, time, description):
        """Add a new person to the person repository.
        Args:
            id(uint): the id of the activity.
            date(datetime.date): the date on which the activity will take place.
            time(datetime.time): the time at which the activity will take place.
            description(str): the description of the activity.    
        Returns:
            None
        Raises:
            ActivityControllerException: if two activities overlap.
        """
        for activity in self.get_all():
            if activity.date == date and activity.time == time:
                raise ActivityControllerException(
                    "Activities must not overlap(not have the same starting date/time)."
                )

        self.__activity_repository.save(Activity(id, date, time, description))
예제 #6
0
파일: console.py 프로젝트: TamasFlorin/UBB
    def add_activity(self):
        activity_id = input("activity id:")
        
        if not Common.get_type(activity_id) is int:
            raise ValueError("Activity id must be an integer.")
        
        activity_id = int(activity_id)
        
        date = input("date:")
        
        if not Common.get_type(date) is datetime.date:
            raise ValueError("Activity date must have the format day.month.year.")  
        
        date = Common.convert_to_date(date)
        
        time = input("time:")
        
        if not Common.get_type(time) is datetime.time:
            raise ValueError("Activity time must have the format hour:minute.")

        time = Common.convert_to_time(time)

        description = input("description:")

        CallStack.add_undo_operation(UndoHandlers.ADD_ACTIVITY_HANDLER,self.__activity_controller,Activity(activity_id,date,time,description))

        self.__activity_controller.add(activity_id,date,time,description)
예제 #7
0
 def setUp(self):
     super().setUp()
     self.__activity = Activity(1, Common.convert_to_date("16.11.2016"),
                                Common.convert_to_time("00:33"),
                                "description")