def test_stage_validate_entities(t, l, i, b, se):

    s = Stage()

    data_type = [t, l, i, b, se]

    for data in data_type:
        with pytest.raises(TypeError):
            s._validate_entities(data)

    t = Task()
    assert isinstance(s._validate_entities(t), set)

    t1 = Task()
    t2 = Task()
    assert set([t1, t2]) == s._validate_entities([t1, t2])
예제 #2
0
    def test_stage_validate_entities(self, mocked_init, t, l, i, b, se):

        s = Stage()

        data_type = [t, l, i, b, se]

        for data in data_type:
            with self.assertRaises(TypeError):
                s._validate_entities(data)

        t = mock.MagicMock(spec=Task)
        self.assertIsInstance(s._validate_entities(t), set)

        t1 = mock.MagicMock(spec=Task)
        t2 = mock.MagicMock(spec=Task)
        self.assertEqual(set([t1, t2]), s._validate_entities([t1, t2]))
예제 #3
0
def test_stage_validate_entities(t, l, i, b, se):

    s = Stage()

    data_type = [t, l, i, b, se]

    for data in data_type:
        with pytest.raises(TypeError):
            s._validate_entities(data)

    t = Task()
    assert isinstance(s._validate_entities(t), set)

    t1 = Task()
    t2 = Task()
    assert set([t1, t2]) == s._validate_entities([t1, t2])
예제 #4
0
    def test_stage_task_assignment(self, mocked_init):
        """
        ***Purpose***: Test if necessary attributes are automatically updates upon task assignment
        """

        global_tasks = set()

        # ------------------------------------------------------------------------------
        #
        def _validate_entities_side_effect(things):
            nonlocal global_tasks
            global_tasks.add(things)
            return global_tasks

        s = Stage()
        s._validate_entities = mock.MagicMock(
            side_effect=_validate_entities_side_effect)
        t = mock.MagicMock(spec=Task)
        s.tasks = t

        self.assertIsInstance(s.tasks, set)
        self.assertEqual(s._task_count, 1)
        self.assertIn(t, s.tasks)