Пример #1
0
    def test_commit(self):
        #Arrange
        op = Operator()
        op.first_name = "monty"
        op.family_name = "python"
        op.date_of_birth = date(1990, 9, 30)
        op.drone_license = 2
        op.rescue_endorsement = True
        op.operations = 5
        opStore = OperatorStore()

        action = opStore.add(op)

        #Act
        if action.is_valid():
            action.commit()
        else:
            for i in action.messages:
                print(i)

        #Assert
        listy = []
        for i in opStore.list_all():
            listy.append(opStore.get(i))
        self.assertIn(op, listy)
Пример #2
0
 def test_add_operator_drone_license(self):
     #arrange
     operatorstore = OperatorStore()
     operator = Operator()
     operator.first_name = "Cindy"
     operator.date_of_birth = date(1998, 2, 3)
     operator.operations = 6
     #act
     actual = operatorstore.add(operator)
     #assert
     self.assertIn("Drone license is required", actual.messages)
Пример #3
0
 def test_add_operator_birth_wrong(self):
     #arrange
     operatorstore = OperatorStore()
     operator = Operator()
     operator.first_name = "Cindy"
     operator.drone_license = 2
     operator.operations = 6
     #act
     actual = operatorstore.add(operator)
     #assert
     self.assertIn("Date of birth is required", actual.messages)
Пример #4
0
    def test_fail_dob(self):
        # Arrange
        op = Operator()
        op.first_name = "Matthew"
        op.drone_license = 1
        store = OperatorStore()

        # Act
        act = store.add(op)

        # Assert
        self.assertFalse(act.is_valid())
Пример #5
0
 def add_operator(self):
     """ Starts a new operator and displays it in the list. """
     # Start a new operator instance
     print('FINISH: Start a new operator')
     operator = Operator()
     operator.first_name = ""
     operator.family_name = ""
     operator.drone_license = 1
     operator.rescue_endorsement = 1
     operator.operations = 0
     # Display the operator
     self.view_operator(operator, self._save_new_operator)
Пример #6
0
    def test_fail_license(self):
        # Arrange
        op = Operator()
        op.first_name = "Matthew"
        op.date_of_birth = date(1995, 12, 25)
        store = OperatorStore()

        # Act
        act = store.add(op)

        # Assert
        self.assertFalse(act.is_valid())
Пример #7
0
 def test_add_operator_pass_all_rules(self):
     #arrange
     operatorstore = OperatorStore()
     operator = Operator()
     operator.first_name = "Cindy"
     operator.date_of_birth = date(1998, 2, 3)
     operator.drone_license = 2
     operator.operations = 6
     #act
     actual = operatorstore.add(operator)
     #assert
     self.assertTrue(len(actual.messages) == 0)
Пример #8
0
 def test_add_operator_rescue_5(self):
     #arrange
     operatorstore = OperatorStore()
     operator = Operator()
     operator.first_name = "Cindy"
     operator.date_of_birth = date(1998, 2, 3)
     operator.drone_license = 2
     operator.operations = 2
     #act
     actual = operatorstore.add(operator)
     #assert
     self.assertIn("More than 5 rescue operations is required",
                   actual.messages)
Пример #9
0
    def test_allocate_success(self):
        # Arrange
        dr = Drone("Test drone", class_type=1)
        op = Operator()
        op.first_name = "John"
        op.drone_license = 1
        store = DroneStore()

        # Act
        act = store.allocate(dr, op)

        # Assert
        self.assertTrue(act.is_valid())
Пример #10
0
 def test_add_operator_successfully(self):
     #arrange
     operatorstore = OperatorStore()
     operator = Operator()
     operator.first_name = "Cindy"
     operator.date_of_birth = date(1998, 2, 3)
     operator.drone_license = 2
     operator.operations = 6
     #act
     actual = operatorstore.add(operator)
     #assert
     if actual.is_valid():
         actual.commit()
     self.assertIn(operator.id, operatorstore._operators)
Пример #11
0
    def test_only_one_drone(self):
        # Arrange
        dr = Drone("Test drone", class_type=1)
        op = Operator()
        op.first_name = "John"
        op.drone_license = 1
        op.drone = Drone("Yet another")
        store = DroneStore()

        # Act
        act = store.allocate(dr, op)
        # Assert
        self.assertFalse(act.is_valid())
        self.assertIn("Operator can only control one drone", act.messages)
Пример #12
0
    def test_fail_endorsement(self):
        # Arrange
        op = Operator()
        op.first_name = "Matthew"
        op.date_of_birth = date(1995, 12, 25)
        op.drone_license = 1
        op.rescue_endorsement = True
        store = OperatorStore()

        # Act
        act = store.add(op)

        # Assert
        self.assertFalse(act.is_valid())
Пример #13
0
    def test_has_rescue_endorsement_success(self):
        # Arrange
        dr = Drone("Test drone", rescue=True)
        op = Operator()
        op.first_name = "John"
        op.drone_license = 1
        op.rescue_endorsement = True
        store = DroneStore()

        # Act
        act = store.allocate(dr, op)

        # Assert
        self.assertTrue(act.is_valid())
Пример #14
0
 def test_add_operator_age_more_than_20(self):
     #arrange
     operatorstore = OperatorStore()
     operator = Operator()
     operator.first_name = "Cindy"
     operator.date_of_birth = date(2000, 2, 3)
     operator.drone_license = 2
     operator.operations = 6
     #act
     actual = operatorstore.add(operator)
     #assert
     self.assertIn(
         "Operator should be at least twenty to hold a class 2 license",
         actual.messages)
    def test_has_rescue_endorsement(self):
        # Arrange
        dr = Drone("Test drone", rescue=True)
        op = Operator()
        op.first_name = "John"
        op.drone_license = 1
        store = DroneStore()

        # Act
        act = store.allocate(dr, op)

        # Assert
        self.assertFalse(act.is_valid())
        self.assertIn("Operator does not have rescue endorsement", act.messages)
    def test_holds_correct_license(self):
        # Arrange
        dr = Drone("Test drone", class_type=2)
        op = Operator()
        op.first_name = "John"
        op.drone_license = 1
        store = DroneStore()

        # Act
        act = store.allocate(dr, op)

        # Assert
        self.assertFalse(act.is_valid())
        self.assertIn("Operator does not have correct drone license", act.messages)
Пример #17
0
    def test_pass_all(self):
        # Arrange
        op = Operator()
        op.first_name = "Matthew"
        op.date_of_birth = date(1995, 12, 25)
        op.drone_license = 2
        op.rescue_endorsement = True
        op.operations = 5
        store = OperatorStore()

        # Act
        act = store.add(op)

        # Assert
        self.assertTrue(act.is_valid())
Пример #18
0
 def test_add_operator_exception(self):
     #arrange
     operatorstore = OperatorStore()
     operator = Operator()
     operator.first_name = "Cindy"
     operator.date_of_birth = date(1998, 2, 3)
     operator.drone_license = 2
     operator.operations = 6
     #act
     actual = operatorstore.add(operator)
     #assert
     if actual.is_valid():
         actual.commit()
     with self.assertRaises(Exception):
         actual.commit()
Пример #19
0
    def test_commit(self):
        # Arrange
        dr = Drone("Test drone", class_type=1)
        op = Operator()
        op.first_name = "John"
        op.drone_license = 1
        store = DroneStore()

        # Act
        act = store.allocate(dr, op)
        act.commit()

        # Assert
        self.assertEquals(dr.operator, op)
        self.assertEquals(op.drone, dr)
Пример #20
0
    def edit_operator(self, event):
        # Retrieve the identifer of the drone
        item = self.tree.item(self.tree.focus())

        operator = Operator()
        name = item['values'][0].split()
        operator.first_name = name[0]
        operator.last_name = name[1]
        operator.drone_license = item['values'][1]
        operator.rescue_endorsement = item['values'][2]
        operator.number_of_operations = item['values'][3]
        #,item['values'][1], item['values'][2], item['values'][3]

        # Display the drone
        self.view_operator(operator, self._update_operator)
Пример #21
0
    def test_operatorInvalidDroneLicense(self):
        #Arrange
        op = Operator()
        op.first_name = "monty"
        op.date_of_birth = date(1990, 9, 30)
        op.rescue_endorsement = True
        op.operations = 5
        opStore = OperatorStore()

        #Act
        action = opStore.add(op)

        #Assert
        self.assertIsNone(op.drone_license)
        self.assertFalse(action.is_valid())
        self.assertIn("Drone license is required", action.messages)
Пример #22
0
    def test_add(self):
        # Arrange
        op = Operator()
        op.first_name = "Matthew"
        op.date_of_birth = date(1995, 12, 25)
        op.drone_license = 2
        op.rescue_endorsement = True
        op.operations = 5
        store = OperatorStore()

        # Act
        act = store.add(op)
        act.commit()

        # Assert
        self.assertEqual(store.get(1), op)
Пример #23
0
    def test_operatorInvalidEndorsement(self):
        #Arrange
        op = Operator()
        op.first_name = "monty"
        op.date_of_birth = date(1990, 9, 30)
        op.drone_license = 2
        op.rescue_endorsement = True
        op.operations = 4
        opStore = OperatorStore()

        #Act
        action = opStore.add(op)

        #Assert
        if (op.rescue_endorsement):
            self.assertFalse(op.operations >= 5)
        self.assertFalse(action.is_valid())
        self.assertIn(
            "Operator should have been involved in five prior rescue operations to hold a rescue drone endorsement",
            action.messages)
Пример #24
0
 def test_operatorStore_added_successfully(self):
     #Arrange
     op = Operator()
     op.first_name = "Afzal"
     op.family_name = "Rahim"
     dob = date(1974, 9, 12)
     op.date_of_birth = dob
     op.drone_license = 2
     op.rescue_endorsement = True
     op.operations = 6
     store = OperatorStore()
     
     #Act
     act = store.add(op)
     
     if act.is_valid():
         act.commit()
     #Assert
     #self.assertTrue(store.get(op.id), True, "Operator has not been added successfully")
     self.assertTrue(store.get(op.id))
Пример #25
0
 def test_operator_validation(self):
     #Arrange
     op = Operator()
     op.first_name = "Afzal"
     op.family_name = "Rahim"
     dob = date(1974, 9, 12)
     op.date_of_birth = dob
     op.drone_license = 2
     op.rescue_endorsement = True
     op.operations = 6
     store = OperatorStore()
     
     #Act
     act = store.add(op)
     
     #Assert
     if act.is_valid():
         act.commit()
     #print(act.messages)
     #print(store._operators)    
     self.assertTrue(act.is_valid())
Пример #26
0
    def test_operatorInvalidDL2(self):
        #Arrange
        op = Operator()
        op.first_name = "monty"
        op.rescue_endorsement = True
        op.operations = 5
        op.date_of_birth = date(2015, 9, 30)
        op.drone_license = 2
        opStore = OperatorStore()

        #Act
        action = opStore.add(op)

        #Assert
        if (op.drone_license == 2):
            self.assertFalse(
                date.today() - op.date_of_birth >= timedelta(7300))
        self.assertFalse(action.is_valid())
        self.assertIn(
            "Operator should be at least twenty to hold a class 2 license",
            action.messages)
Пример #27
0
 def test_dobError(self):
     #Arrange
     op = Operator()
     op.first_name = "Afzal"
     op.family_name = "Rahim"
     #dob = date(1974, 9, 12)
     #op.date_of_birth = dob
     op.drone_license = 2
     op.rescue_endorsement = True
     op.operations = 6
     store = OperatorStore()
     #action = OperatorAction(op, store._add(op))
 
     #Act
     act = store.add(op)
     
     #Assert
     if act.is_valid():
         act.commit()
     else:
         #self.assertIn('Date of birth is required', act.messages)
         self.assertEqual('Date of birth is required' in act.messages, False, 'Date of birth is required.')
Пример #28
0
 def test_rescueEndorsement_validity(self):
     #Arrange
     op = Operator()
     op.first_name = "Afzal"
     op.family_name = "Rahim"
     dob = date(1974, 9, 12)
     op.date_of_birth = dob
     op.drone_license = 2
     op.rescue_endorsement = True
     op.operations = 2
     store = OperatorStore()
     #action = OperatorAction(op, store._add(op))
     
     #Act
     act = store.add(op)
     
     #Assert
     if act.is_valid():
         act.commit()
     else:
         #self.assertIn('The operator must have been involved in five prior rescue operations.', act.messages)
         self.assertEqual('The operator must have been involved in five prior rescue operations' in act.messages, False, 'The operator must have been involved in five prior rescue operations.')
Пример #29
0
 def test_droneLicence_validity(self):
     #Arrange
     op = Operator()
     op.first_name = "Afzal"
     op.family_name = "Rahim"
     dob = date(2017, 9, 12)
     op.date_of_birth = dob
     op.drone_license = 2
     op.rescue_endorsement = True
     op.operations = 6
     store = OperatorStore()
     #action = OperatorAction(op, store._add(op))
     
     #Act
     act = store.add(op)
     
     #Assert
     if act.is_valid():
         act.commit()
     else:
         #self.assertIn('Operator should be at least twenty to hold a class 2 license', act.messages)
         self.assertEqual('Operator should be at least twenty to hold a class 2 license' in act.messages, False, 'Operator should be at least twenty to hold a class 2 license')
Пример #30
0
    def test_operatorValidity(self):
        #Arrange
        op = Operator()
        op.first_name = "monty"
        op.date_of_birth = date(1990, 9, 30)
        op.drone_license = 2
        op.rescue_endorsement = True
        op.operations = 5
        opStore = OperatorStore()

        #Act
        action = opStore.add(op)

        #Assert
        self.assertIsNotNone(op.first_name)
        self.assertIsNotNone(op.date_of_birth)
        self.assertIsNotNone(op.drone_license)
        if (op.drone_license == 2):
            self.assertTrue(date.today() - op.date_of_birth >= timedelta(7300))
        if (op.rescue_endorsement):
            self.assertTrue(op.operations >= 5)

        self.assertTrue(action.is_valid())