getMock('Dflydev\DotAccessConfiguration\Configuration'); $configuration ->expects($this->any()) ->method('getRaw') ->will($this->returnValueMap(array( array('foo', 'bar'), array('foo', null, true), array('foo', 'bar', false), ))) ; $dataSource = new ConfigurationDataSource($configuration); $this->assertEquals('bar', $dataSource->get('foo')); $this->assertTrue($dataSource->exists('foo')); $this->assertEquals('bar', $dataSource->get('foo', false)); $this->assertTrue($dataSource->exists('foo', false)); $this->assertNull($dataSource->get('foo', true)); $this->assertFalse($dataSource->exists('foo', true)); } }