### Question:
AsnRange extends AbstractRange<Asn, AsnRange> implements InternetResourceRange<Asn, AsnRange> { public static AsnRangeBuilder from(Long from) { return from(Asn.of(from)); } protected  AsnRange(Asn start, Asn end); static AsnRangeBuilder from(Long from); static AsnRangeBuilder from(Asn from); static AsnRangeBuilder from(String from); static AsnRange parse(String text); boolean containsOnly16BitAsns(); boolean containsOnly32BitAsns(); @Override String toString(); @Override Long size();  }### Answer:
@Test public void testBuilderWithLongs() { AsnRange range = AsnRange.from(1l).to(3l); assertEquals(as1, range.start()); assertEquals(as3, range.end()); }
@Test public void testBuilderWithStrings() { AsnRange range = AsnRange.from("AS1").to("AS3"); assertEquals(as1, range.start()); assertEquals(as3, range.end()); }
@Test public void testBuilderWithAsn() { AsnRange range = AsnRange.from(as1).to(as3); assertEquals(as1, range.start()); assertEquals(as3, range.end()); }
@Test(expected = IllegalArgumentException.class) public void testBuilderWithInvalidRange() { AsnRange.from(as3).to(as1); }
@Test(expected = IllegalArgumentException.class) public void testBuilderWithNullStart() { AsnRange.from((Asn) null).to(as3); }
@Test(expected = IllegalArgumentException.class) public void testBuilderWithNullEnd() { AsnRange.from(as1).to((Asn) null); }