コード例 #1
0
 public function testFilteredInterface()
 {
     $chain = new \Application\AppointmentChain();
     $item1 = new \Application\AppointmentItem(self::$arrayToTest1);
     $item2 = new \Application\AppointmentItem(self::$arrayToTest2);
     $item3 = new \Application\AppointmentItem(self::$arrayToTest3);
     $chain->add($item1);
     $chain->add($item2);
     $chain->add($item3);
     $chain->applyFilter(new \DateTime('2015-10-15 12:00:00'));
     $chain->rewind();
     $this->assertEquals(2, $chain->count());
     $this->assertEquals($item2, $chain->current());
     $chain->next();
     $this->assertEquals($item3, $chain->current());
     $chain->next();
     $this->assertFalse($chain->valid());
     $this->assertFalse($chain->isMeetFilter($item1));
     $this->assertTrue($chain->isMeetFilter($item2));
     $this->assertTrue($chain->isMeetFilter($item3));
     $this->assertEquals($item1, $chain->get(10));
     $this->assertEquals($item2, $chain->get(20));
     $this->assertEquals($item3, $chain->get(30));
     $this->assertEquals(null, $chain->get(40));
     $chain->setChainId(50);
     $this->assertEquals(50, $item1->getChain());
     $this->assertEquals(50, $item2->getChain());
     $this->assertEquals(50, $item3->getChain());
 }