public function testFindBy() { $a = array((object) array('id' => 123, 'name' => 'foo', 'group' => 'primary', 'value' => 123456), (object) array('id' => 456, 'name' => 'bar', 'group' => 'primary', 'value' => 1468), (object) array('id' => 499, 'name' => 'baz', 'group' => 'secondary', 'value' => 2365), (object) array('id' => 789, 'name' => 'ter', 'group' => 'primary', 'value' => 2468)); $b = Object::findBy($a, 'name', 'baz'); $this->assertInstanceOf('\\stdClass', $b); $this->assertEquals(2365, $b->value); $this->assertObjectHasAttribute("name", $b); $this->assertObjectHasAttribute("group", $b); $this->assertObjectHasAttribute("value", $b); $c = Object::findBy($a, 'value', 2468); $this->assertInstanceOf('\\stdClass', $c); $this->assertEquals("primary", $c->group); $d = Object::findBy($a, 'group', 'primary'); $this->assertInstanceOf('\\stdClass', $d); $this->assertEquals("foo", $d->name); $e = Object::findBy($a, 'value', 2000, 'lt'); $this->assertInstanceOf('\\stdClass', $e); $this->assertEquals(1468, $e->value); }