LazyOptionTest::testGetWithoutArgumentsAndCreate()
Source
File: vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php
public function testGetWithoutArgumentsAndCreate()
{
$option = \PhpOption\LazyOption::create(array($this->subject, 'execute'));
$this->subject
->expects($this->once())
->method('execute')
->will($this->returnValue(\PhpOption\Some::create('foo')));
$this->assertTrue($option->isDefined());
$this->assertFalse($option->isEmpty());
$this->assertEquals('foo', $option->get());
$this->assertEquals('foo', $option->getOrElse(null));
$this->assertEquals('foo', $option->getOrCall('does_not_exist'));
$this->assertEquals('foo', $option->getOrThrow(new \RuntimeException('does_not_exist')));
}