Added tests for round-tripping pointers from paths to parts
Calculate path properly when self.parts == [].