public function testCompareResourceRecords() { $soa = new ResourceRecord(); $soa->setClass('IN'); $soa->setName('@'); $soa->setRdata(Factory::Soa('example.com.', 'postmaster.example.com.', 2015050801, 3600, 14400, 604800, 3600)); $ns1 = new ResourceRecord(); $ns1->setClass(Classes::INTERNET); $ns1->setName('@'); $ns1->setTtl(14400); $ns1->setRdata(Factory::Ns('ns1.example.net.au.')); $ns2 = new ResourceRecord(); $ns2->setClass('IN'); $ns2->setName('@'); $ns2->setTtl(14400); $ns2->setRdata(Factory::Ns('ns2.example.net.au.')); $a = new ResourceRecord(); $a->setName('subdomain.au'); $a->setRdata(Factory::A('192.168.1.2')); $a->setComment('This is a local ip.'); $cname = new ResourceRecord(); $cname->setName('alias'); $cname->setRdata(Factory::Cname('subdomain.au.example.com.')); $cname->setClass(Classes::INTERNET); $aaaa = new ResourceRecord('ipv6domain', Factory::Aaaa('::1'), 3600); $mx1 = new ResourceRecord(); $mx1->setName('@'); $mx1->setRdata(Factory::Mx(10, 'mailgw01.example.net.')); $mx2 = new ResourceRecord(); $mx2->setName('@'); $mx2->setRdata(Factory::Mx(20, 'mailgw02.example.net.')); $txt = new ResourceRecord(); $txt->setName('example.net.'); $txt->setRdata(Factory::txt('v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.123 a -all')); $dummy = new ResourceRecord(); $dummy->setName('example.com.'); $dummy->setRdata(new DummyRdata()); $this->assertTrue(AlignedBuilder::compareResourceRecords($soa, $ns1) < 0); $this->assertTrue(AlignedBuilder::compareResourceRecords($aaaa, $cname) < 0); $this->assertTrue(AlignedBuilder::compareResourceRecords($mx1, $mx2) < 0); $this->assertTrue(AlignedBuilder::compareResourceRecords($mx1, $mx2) < 0); $this->assertTrue(AlignedBuilder::compareResourceRecords($mx1, $dummy) < 0); $this->assertTrue(AlignedBuilder::compareResourceRecords($mx1, $a) > 0); $this->assertTrue(AlignedBuilder::compareResourceRecords($ns2, $ns1) > 0); $this->assertTrue(AlignedBuilder::compareResourceRecords($dummy, $txt) > 0); }