public function testGetTableForeignColumnName() { $expected = 'film_id'; $tableName = 'film'; $row = $this->getMockBuilder(Row::class)->disableOriginalConstructor()->getMock(); $row->expects($this->once())->method('getTableName')->will($this->returnValue($tableName)); $table = $this->getMockBuilder(Table::class)->disableOriginalConstructor()->getMock(); $table->expects($this->once())->method('getForeignKey')->with($this->equalTo($tableName))->will($this->returnValue($expected)); $reference = new Reference($row, $table); $this->assertEquals($expected, $reference->getTableForeignColumnName(null)); $expected = 'parent_id'; $this->assertEquals($expected, $reference->getTableForeignColumnName($expected)); }