def METHOD_NAME(self):
    # Stage part1, since it's a dependency
    self.part1.mark_pull_done()
    self.part1.mark_build_done()
    self.part1.mark_stage_done(set(), set())
    # Pull part2
    self.part2.mark_pull_done()
    self.assertThat(
        inspection.lifecycle_status(self.config),
        Equals(
            [
                {
                    "part": "part1",
                    "pull": "complete",
                    "build": "complete",
                    "stage": "complete",
                    "prime": None,
                },
                {
                    "part": "part2",
                    "pull": "complete",
                    "build": None,
                    "stage": None,
                    "prime": None,
                },
            ]
        ),
    )
    # Now prime them both
    self.part1.mark_prime_done(set(), set(), set(), set())
    self.part2.mark_build_done()
    self.part2.mark_stage_done(set(), set())
    self.part2.mark_prime_done(set(), set(), set(), set())
    self.assertThat(
        inspection.lifecycle_status(self.config),
        Equals(
            [
                {
                    "part": "part1",
                    "pull": "complete",
                    "build": "complete",
                    "stage": "complete",
                    "prime": "complete",
                },
                {
                    "part": "part2",
                    "pull": "complete",
                    "build": "complete",
                    "stage": "complete",
                    "prime": "complete",
                },
            ]
        ),
    )
    # Change the source of part2, which should make its pull step outdated
    open(os.path.join("src2", "file"), "w").close()
    self.assertThat(
        inspection.lifecycle_status(self.config),
        Equals(
            [
                {
                    "part": "part1",
                    "pull": "complete",
                    "build": "complete",
                    "stage": "complete",
                    "prime": "complete",
                },
                {
                    "part": "part2",
                    "pull": "outdated (source changed)",
                    "build": "complete",
                    "stage": "complete",
                    "prime": "complete",
                },
            ]
        ),
    )
    # Now clean the prime step of part1 and verify that it effects part2
    self.part1.mark_cleaned(steps.PRIME)
    self.assertThat(
        inspection.lifecycle_status(self.config),
        Equals(
            [
                {
                    "part": "part1",
                    "pull": "complete",
                    "build": "complete",
                    "stage": "complete",
                    "prime": None,
                },
                {
                    "part": "part2",
                    "pull": "outdated (source changed)",
                    "build": "complete",
                    "stage": "complete",
                    "prime": "dirty ('part1' changed)",
                },
            ]
        ),
    )