moduleReaderMock = $this->createMock(ModuleDirReader::class); $this->schemaLocator = $this->createNewSchemaLocatorInstance( $this->moduleReaderMock, 'Test_ModuleName', $this->testSchemaFileName, null ); } public function testItIsAnInstanceOfSchemaLocatorInterface() { $this->assertInstanceOf(SchemaLocatorInterface::class, $this->schemaLocator); } public function testItReturnsThePathToTheSpecifiedModuleXsd() { $this->moduleReaderMock->expects($this->any())->method('getModuleDir')->willReturn('....'); $this->assertSame('..../' . $this->testSchemaFileName, $this->schemaLocator->getSchema()); } public function testItReturnsNullAsTheDefaultPerFileSchema() { $this->assertNull($this->schemaLocator->getPerFileSchema()); } public function testItReturnsThePathToThePerFileSchema() { $this->moduleReaderMock->expects($this->any())->method('getModuleDir')->willReturn('....'); $schemaLocator = $this->createNewSchemaLocatorInstance( $this->moduleReaderMock, 'Test_ModuleName', 'some other file name', $this->testSchemaFileName ); $this->assertSame('..../' . $this->testSchemaFileName, $schemaLocator->getPerFileSchema()); } }