/** * @test */ public function matchRecordGeneratesProperXml() { $match = new Match(); $match->setOffice('001'); $match->setCode('170'); // fixed $match->setDate('20160908'); $i = 0; $line = new MatchLine(); $line->setTransCode('INCASSO-OW'); $line->setTransNumber('1000'); // Twinfield generated ID for memorial transaction $line->setTransLine(2); $match->addLine($line); $line = new MatchLine(); $line->setTransCode('VRK'); $line->setTransNumber('20160001'); // Twinfield generated ID for invoice transaction $line->setTransLine(1); $line->setMatchValue(100); $match->addLine($line); $matchDocument = new MatchDocument(); $matchDocument->addMatch($match); $generatedXml = $matchDocument; $expectedXml = new DOMDocument(); $expectedXml->loadXml('<match> <set> <office>001</office> <matchcode>170</matchcode> <matchdate>20160908</matchdate> <lines> <line> <transcode>INCASSO-OW</transcode> <transnumber>1000</transnumber> <transline>2</transline> </line> <line> <transcode>VRK</transcode> <transnumber>20160001</transnumber> <transline>1</transline> <matchvalue>100.00</matchvalue> </line> </lines> </set> </match>'); $this->assertEqualXMLStructure($expectedXml->documentElement, $generatedXml->documentElement); return $match; }