/** * test epObject::epMatches() */ public function testObjectMatch() { // make an eptTest object $this->assertTrue($o = new eptTest("XXX", "YYY", "ZZZ")); // wrap it with epObject $this->assertTrue($w = new epObject($o)); // make an eptTest object $this->assertTrue($p = new eptTest("XXX", "YYY", "ZZZ")); // wrap it $this->assertTrue($m = new epObject($p)); // copy vars over from $w $m->epCopyVars($w); // should match with the copy $this->assertTrue($w->epMatches($m)); // set vars in m to null, should still match (because null vars are ignored) $this->assertTrue($vars = $m->epGetVars()); foreach ($vars as $var => $value) { // skip oid if ($var == 'oid') { continue; } $m->epSet($var, null); $this->assertTrue($w->epMatches($m)); } // set vars to diff values, assert no match foreach ($vars as $var => $value) { if (is_string($value)) { $m->epSet($var, md5($w->epGet($var))); $this->assertFalse($w->epMatches($m)); } } }