/** * This method tests the "iterator" method. */ public function test_iterator() { $p0 = IOption\Type::some(IInt32\Type::zero()); $e0 = array(0); $this->assertInstanceOf('\\Saber\\Data\\IOption\\Some\\Type', $p0); $this->assertSame(count($e0), $p0->__size()); $p1 = IOption\Module::iterator($p0); $e1 = 0; $this->assertInstanceOf('\\Saber\\Data\\IOption\\Iterator', $p1); foreach ($p1 as $i => $item) { $this->assertInstanceOf('\\Saber\\Data\\IInt32\\Type', $i); $this->assertSame($e1, $i->unbox()); $this->assertInstanceOf('\\Saber\\Core\\Type', $item); $this->assertSame($e0[$e1], $item->unbox()); $e1++; } }