### Question:
Verifier { static boolean nsecMatches(String test, String lowerBound, String upperBound) { return nsecMatches(DnsName.from(test), DnsName.from(lowerBound), DnsName.from(upperBound)); }  static DnssecUnverifiedReason verify(Record<DNSKEY> dnskeyRecord, DelegatingDnssecRR ds); static DnssecUnverifiedReason verify(List<Record<? extends Data>> records, RRSIG rrsig, DNSKEY key); static DnssecUnverifiedReason verifyNsec(Record<NSEC> nsecRecord, Question q); static DnssecUnverifiedReason verifyNsec3(DnsName zone, Record<NSEC3> nsec3record, Question q);  }### Answer:
@Test public void testNsecMatches() { assertTrue(Verifier.nsecMatches("example.com", "com", "com")); assertTrue(Verifier.nsecMatches("example.com", "e.com", "f.com")); assertTrue(Verifier.nsecMatches("example.com", "be", "de")); assertTrue(Verifier.nsecMatches("nsec.example.com", "example.com", "www.example.com")); assertFalse(Verifier.nsecMatches("example.com", "a.com", "example.com")); assertFalse(Verifier.nsecMatches("example.com", "example1.com", "example2.com")); assertFalse(Verifier.nsecMatches("example.com", "test.com", "xxx.com")); assertFalse(Verifier.nsecMatches("example.com", "xxx.com", "test.com")); assertFalse(Verifier.nsecMatches("example.com", "aaa.com", "bbb.com")); assertFalse(Verifier.nsecMatches("www.example.com", "example2.com", "example3.com")); assertFalse(Verifier.nsecMatches("test.nsec.example.com", "nsec.example.com", "a.nsec.example.com")); assertFalse(Verifier.nsecMatches("test.nsec.example.com", "test.nsec.example.com", "a.example.com")); assertFalse(Verifier.nsecMatches("www.example.com", "example.com", "nsec.example.com")); assertFalse(Verifier.nsecMatches("example.com", "nsec.example.com", "www.example.com")); }