def test_previous_with_conditional_path(self):
        survey = load_schema_file("0_star_wars.json")

        expected_path = [
            "f22b1ba4-d15f-48b8-a1f3-db62b6f34cc0",
            "923ccc84-9d47-4a02-8ebc-1e9d14fcf10b",
            "26f2c4b3-28ac-4072-9f18-a6a6c6f660db",
            "cd3b74d1-b687-4051-9634-a8f9ce10a27d",
            "an3b74d1-b687-4051-9634-a8f9ce10ard",
            "846f8514-fed2-4bd7-8fb2-4b5fcb1622b1"
        ]

        answers = {
            "ca3ce3a3-ae44-4e30-8f85-5b6a7a2fb23c": "Dark Side",
            "pel989b8-5185-4ba6-b73f-c126e3a06ba7": "Can I be a pain and have a goodies ship"
        }

        current_block_id = expected_path[3]
        expected_previous_block_id = expected_path[2]

        navigator = Navigator(survey)
        actual_previous_block_id = navigator.get_previous_location(answers, current_block_id)

        self.assertEqual(actual_previous_block_id, expected_previous_block_id)

        current_block_id = expected_path[2]
        expected_previous_block_id = expected_path[1]

        actual_previous_block_id = navigator.get_previous_location(answers, current_block_id)

        self.assertEqual(actual_previous_block_id, expected_previous_block_id)
    def test_get_previous_location_conditional(self):
        survey = load_schema_file("0_star_wars.json")
        navigator = Navigator(survey)

        expected_path = [
            "f22b1ba4-d15f-48b8-a1f3-db62b6f34cc0",
            "96682325-47ab-41e4-a56e-8315a19ffe2a",
            "cd3b74d1-b687-4051-9634-a8f9ce10a27d",
            "an3b74d1-b687-4051-9634-a8f9ce10ard",
            "846f8514-fed2-4bd7-8fb2-4b5fcb1622b1"
        ]

        current_location_id = expected_path[2]
        expected_previous_location_id = expected_path[1]

        answers = {
            "ca3ce3a3-ae44-4e30-8f85-5b6a7a2fb23c": "Light Side",
            "2e0989b8-5185-4ba6-b73f-c126e3a06ba7": "No"
        }

        self.assertEqual(navigator.get_previous_location(answers, current_location_id), expected_previous_location_id)

        current_location_id = expected_path[0]
        expected_previous_location_id = 'introduction'

        self.assertEqual(navigator.get_previous_location(answers, current_location_id), expected_previous_location_id)
    def test_get_previous_location(self):
        survey = load_schema_file("0_star_wars.json")

        navigator = Navigator(survey)

        next_location = navigator.get_previous_location(current_location_id='f22b1ba4-d15f-48b8-a1f3-db62b6f34cc0')

        self.assertEqual('introduction', next_location)
    def test_previous_block(self):
        survey = load_schema_file("1_0102.json")

        current_block_id = "02ed26ad-4cfc-4e29-a946-630476228b2c"
        previous_block_id = "7418732e-12fb-4270-8307-5682ac63bfae"

        navigator = Navigator(survey)
        self.assertEqual(navigator.get_previous_location(current_location_id=current_block_id), previous_block_id)