Exemple #1
0
    def test_routine_deserialize_wrong_format(self):

        r = des.deserialize_routine({}, self.manager)
        self.assertIsNone(r)

        r = des.deserialize_routine({"name": 5, "tasks": []}, self.manager)
        self.assertIsNone(r)

        r = des.deserialize_routine({
            "name": "ok",
            "tasks": None
        }, self.manager)
        self.assertIsNone(r)

        # noinspection PyTypeChecker
        r = des.deserialize_routine("An other type", self.manager)
        self.assertIsNone(r)
Exemple #2
0
    def test_routine_deserialize_wrong_format_task(self):
        serialized_routine = {
            "name":
            "A simple routine",
            "tasks": [{
                "missing name": "a non existing task",
                "values": {
                    "first arg": "my string"
                }
            }]
        }

        r = des.deserialize_routine(serialized_routine, self.manager)
        self.assertIsNotNone(r)
        self.assertEqual(len(r.tasks), 0)

        serialized_routine = {
            "name":
            "A simple routine",
            "tasks": [{
                "name": ["Not", "a", "string"],
                "values": {
                    "first arg": "my string"
                }
            }]
        }

        r = des.deserialize_routine(serialized_routine, self.manager)
        self.assertIsNotNone(r)
        self.assertEqual(len(r.tasks), 0)

        serialized_routine = {
            "name": "A simple routine",
            "tasks": [{
                "name": "a task",
                "values": "not a dict"
            }]
        }

        r = des.deserialize_routine(serialized_routine, self.manager)
        self.assertIsNotNone(r)
        self.assertEqual(len(r.tasks), 0)
Exemple #3
0
    def test_routine_deserialize_missing_arg_value(self):
        serialized_routine = {
            "name": "A simple routine",
            "tasks": [{
                "name": "a task",
                "values": {}
            }]
        }

        r = des.deserialize_routine(serialized_routine, self.manager)
        self.assertIsNotNone(r)
        self.assertEqual(len(r.tasks), 0)
Exemple #4
0
    def test_routine_deserialize_invalid_value(self):
        serialized_routine = {
            "name": "A simple routine",
            "tasks": [{
                "name": "a task",
                "values": {
                    "first arg": "bad"
                }
            }]
        }

        r = des.deserialize_routine(serialized_routine, self.manager)
        self.assertIsNotNone(r)
        self.assertEqual(len(r.tasks), 0)
Exemple #5
0
    def test_routine_deserialize_missing_task(self):
        serialized_routine = {
            "name":
            "A simple routine",
            "tasks": [{
                "name": "a non existing task",
                "values": {
                    "first arg": "my string"
                }
            }]
        }

        r = des.deserialize_routine(serialized_routine, self.manager)
        self.assertIsNotNone(r)
        self.assertEqual(len(r.tasks), 0)
Exemple #6
0
    def test_routine_deserialize(self):
        serialized_routine = {
            "name": "A simple routine",
            "tasks": [{
                "name": "a task",
                "values": {
                    "first arg": "my string"
                }
            }]
        }

        r = des.deserialize_routine(serialized_routine, self.manager)
        self.assertIsNotNone(r)
        self.assertEqual(r.name, "A simple routine")
        self.assertEqual(len(r.tasks), 1)
        t, values = r.tasks[0]
        self.assertEqual(self.t, t)
        self.assertDictEqual(values, {"first arg": "my string"})
Exemple #7
0
 def load_manager():
     try:
         with open("manager_store.json", "r") as file:
             output = json.loads(file.read())
             if "routines" in output and type(
                     output["routines"]) is list:
                 for serialized_routine in output["routines"]:
                     r = des.deserialize_routine(
                         serialized_routine, self.manager)
                     if r is not None:
                         self.manager.add_routine(r)
             if "cards" in output and type(output["cards"]) is list:
                 for serialized_card in output["cards"]:
                     c = des.deserialize_card(serialized_card,
                                              self.manager)
                     if c is not None:
                         self.manager.add_card(c)
     except FileNotFoundError:
         pass