public function matchPatch(Patch $patch) { foreach ($this->patches as $key => $localPatch) { //This should be the case if both patches have the same history. if ($patch->getPatch() === $localPatch->getPatch() && $patch->getQuery() == $localPatch->getQuery()) { return $key; } //This should be the case if patches have a different history, or essentially do the same thing. if ($patch->getQuery() === $localPatch->getQuery()) { return $key; } } return false; }
public function testGets() { $raw = ['table' => 'someTable', 'patch' => 'somePatch', 'query' => 'someQuery', 'rollback' => 'someRollback']; $patch = new Patch($raw); $this->assertEquals(null, $patch->getId()); $this->assertEquals(1234, $patch->getId(1234)); $this->assertEquals($raw['table'], $patch->getTable()); $this->assertEquals($raw['patch'], $patch->getPatch()); $this->assertEquals($raw['query'], $patch->getQuery()); $this->assertEquals($raw['rollback'], $patch->getRollback()); $this->assertEquals($raw, $patch->dump()); }