getMockBuilder(AddressPostal::class)->getMock(); $addressPostal->method('getStreetAddress')->willReturn('Abc'); $addressPostal->method('getStreetAddressSecond')->willReturn('Def '); $addressPostal->method('getStreetAddressThird')->willReturn(' Ghi '); $this->assertEqualsCanonicalizing( "Abc\nDef\nGhi", $addressPostalUtils->getFullStreetAddress($addressPostal) ); $this->assertEqualsCanonicalizing( "Abc Def Ghi", $addressPostalUtils->getFullStreetAddress($addressPostal, ' ') ); } public function testGetFullStreetAddressWithMissing(): void { $addressPostalUtils = new AddressPostalUtils(); // Cf. bug when SUT has only one method, can't be mocked $addressPostal = $this->getMockBuilder(AddressPostal::class)->getMock(); $addressPostal->method('getStreetAddress')->willReturn('Abc'); $addressPostal->method('getStreetAddressSecond')->willReturn(''); $addressPostal->method('getStreetAddressThird')->willReturn(' Def'); $this->assertEqualsCanonicalizing( "Abc\nDef", $addressPostalUtils->getFullStreetAddress($addressPostal) ); } }