@@ -225,8 +225,8 @@ func checkDecodingToInterface(t *testing.T, recordInterface any) {
225225 assert .Equal (t , []any {uint64 (1 ), uint64 (2 ), uint64 (3 )}, record ["array" ])
226226 assert .Equal (t , true , record ["boolean" ])
227227 assert .Equal (t , []byte {0x00 , 0x00 , 0x00 , 0x2a }, record ["bytes" ])
228- assert .Equal (t , 42.123456 , record ["double" ])
229- assert .Equal (t , float32 (1.1 ), record ["float" ])
228+ assert .InEpsilon (t , 42.123456 , record ["double" ], 1e-10 )
229+ assert .InEpsilon (t , float32 (1.1 ), record ["float" ], 1e-5 )
230230 assert .Equal (t , - 268435456 , record ["int32" ])
231231 assert .Equal (t ,
232232 map [string ]any {
@@ -268,10 +268,10 @@ func TestDecoder(t *testing.T) {
268268
269269 verify := func (result TestType ) {
270270 assert .Equal (t , []uint {uint (1 ), uint (2 ), uint (3 )}, result .Array )
271- assert .Equal ( t , true , result .Boolean )
271+ assert .True ( t , result .Boolean )
272272 assert .Equal (t , []byte {0x00 , 0x00 , 0x00 , 0x2a }, result .Bytes )
273- assert .Equal (t , 42.123456 , result .Double )
274- assert .Equal (t , float32 (1.1 ), result .Float )
273+ assert .InEpsilon (t , 42.123456 , result .Double , 1e-10 )
274+ assert .InEpsilon (t , float32 (1.1 ), result .Float , 1e-5 )
275275 assert .Equal (t , int32 (- 268435456 ), result .Int32 )
276276
277277 assert .Equal (t ,
@@ -306,11 +306,11 @@ func TestDecoder(t *testing.T) {
306306 require .NoError (t , err )
307307 assert .NotEqual (t , NotFound , offset )
308308
309- assert .NoError (t , reader .Decode (offset , & result ))
309+ require .NoError (t , reader .Decode (offset , & result ))
310310 verify (result )
311311 }
312312
313- assert .NoError (t , reader .Close ())
313+ require .NoError (t , reader .Close ())
314314}
315315
316316type TestInterface interface {
@@ -329,7 +329,7 @@ func TestStructInterface(t *testing.T) {
329329
330330 require .NoError (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
331331
332- assert .Equal ( t , true , result .method ())
332+ assert .True ( t , result .method ())
333333}
334334
335335func TestNonEmptyNilInterface (t * testing.T ) {
@@ -361,7 +361,7 @@ func TestEmbeddedStructAsInterface(t *testing.T) {
361361 db , err := Open (testFile ("GeoIP2-ISP-Test.mmdb" ))
362362 require .NoError (t , err )
363363
364- assert .NoError (t , db .Lookup (net .ParseIP ("1.128.0.0" ), & result ))
364+ require .NoError (t , db .Lookup (net .ParseIP ("1.128.0.0" ), & result ))
365365}
366366
367367type BoolInterface interface {
@@ -425,18 +425,18 @@ type TestPointerType struct {
425425
426426func TestComplexStructWithNestingAndPointer (t * testing.T ) {
427427 reader , err := Open (testFile ("MaxMind-DB-test-decoder.mmdb" ))
428- assert .NoError (t , err )
428+ require .NoError (t , err )
429429
430430 var result TestPointerType
431431
432432 err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result )
433433 require .NoError (t , err )
434434
435435 assert .Equal (t , []uint {uint (1 ), uint (2 ), uint (3 )}, * result .Array )
436- assert .Equal ( t , true , * result .Boolean )
436+ assert .True ( t , * result .Boolean )
437437 assert .Equal (t , []byte {0x00 , 0x00 , 0x00 , 0x2a }, * result .Bytes )
438- assert .Equal (t , 42.123456 , * result .Double )
439- assert .Equal (t , float32 (1.1 ), * result .Float )
438+ assert .InEpsilon (t , 42.123456 , * result .Double , 1e-10 )
439+ assert .InEpsilon (t , float32 (1.1 ), * result .Float , 1e-5 )
440440 assert .Equal (t , int32 (- 268435456 ), * result .Int32 )
441441
442442 assert .Equal (t , []int {7 , 8 , 9 }, result .Map .MapX .ArrayX )
@@ -451,7 +451,7 @@ func TestComplexStructWithNestingAndPointer(t *testing.T) {
451451 bigInt .SetString ("1329227995784915872903807060280344576" , 10 )
452452 assert .Equal (t , bigInt , result .Uint128 )
453453
454- assert .NoError (t , reader .Close ())
454+ require .NoError (t , reader .Close ())
455455}
456456
457457// See GitHub #115.
@@ -520,7 +520,7 @@ func TestNestedOffsetDecode(t *testing.T) {
520520 require .NoError (t , err )
521521
522522 off , err := db .LookupOffset (net .ParseIP ("81.2.69.142" ))
523- assert .NotEqual (t , off , NotFound )
523+ assert .NotEqual (t , NotFound , off )
524524 require .NoError (t , err )
525525
526526 var root struct {
@@ -534,24 +534,24 @@ func TestNestedOffsetDecode(t *testing.T) {
534534 TimeZoneOffset uintptr `maxminddb:"time_zone"`
535535 } `maxminddb:"location"`
536536 }
537- assert .NoError (t , db .Decode (off , & root ))
538- assert .Equal (t , 51.5142 , root .Location .Latitude )
537+ require .NoError (t , db .Decode (off , & root ))
538+ assert .InEpsilon (t , 51.5142 , root .Location .Latitude , 1e-10 )
539539
540540 var longitude float64
541- assert .NoError (t , db .Decode (root .Location .LongitudeOffset , & longitude ))
542- assert .Equal (t , - 0.0931 , longitude )
541+ require .NoError (t , db .Decode (root .Location .LongitudeOffset , & longitude ))
542+ assert .InEpsilon (t , - 0.0931 , longitude , 1e-10 )
543543
544544 var timeZone string
545- assert .NoError (t , db .Decode (root .Location .TimeZoneOffset , & timeZone ))
545+ require .NoError (t , db .Decode (root .Location .TimeZoneOffset , & timeZone ))
546546 assert .Equal (t , "Europe/London" , timeZone )
547547
548548 var country struct {
549549 IsoCode string `maxminddb:"iso_code"`
550550 }
551- assert .NoError (t , db .Decode (root .CountryOffset , & country ))
551+ require .NoError (t , db .Decode (root .CountryOffset , & country ))
552552 assert .Equal (t , "GB" , country .IsoCode )
553553
554- assert .NoError (t , db .Close ())
554+ require .NoError (t , db .Close ())
555555}
556556
557557func TestDecodingUint16IntoInt (t * testing.T ) {
@@ -581,7 +581,7 @@ func TestIpv6inIpv4(t *testing.T) {
581581 "error looking up '2001::': you attempted to look up an IPv6 address in an IPv4-only database" ,
582582 )
583583 assert .Equal (t , expected , err )
584- assert .NoError (t , reader .Close (), "error on close" )
584+ require .NoError (t , reader .Close (), "error on close" )
585585}
586586
587587func TestBrokenDoubleDatabase (t * testing.T ) {
@@ -595,7 +595,7 @@ func TestBrokenDoubleDatabase(t *testing.T) {
595595 "the MaxMind DB file's data section contains bad data (float 64 size of 2)" ,
596596 )
597597 assert .Equal (t , expected , err )
598- assert .NoError (t , reader .Close (), "error on close" )
598+ require .NoError (t , reader .Close (), "error on close" )
599599}
600600
601601func TestInvalidNodeCountDatabase (t * testing.T ) {
@@ -624,7 +624,7 @@ func TestDecodingToNonPointer(t *testing.T) {
624624 var recordInterface any
625625 err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), recordInterface )
626626 assert .Equal (t , "result param must be a pointer" , err .Error ())
627- assert .NoError (t , reader .Close (), "error on close" )
627+ require .NoError (t , reader .Close (), "error on close" )
628628}
629629
630630func TestNilLookup (t * testing.T ) {
@@ -634,7 +634,7 @@ func TestNilLookup(t *testing.T) {
634634 var recordInterface any
635635 err = reader .Lookup (nil , recordInterface )
636636 assert .Equal (t , "IP passed to Lookup cannot be nil" , err .Error ())
637- assert .NoError (t , reader .Close (), "error on close" )
637+ require .NoError (t , reader .Close (), "error on close" )
638638}
639639
640640func TestUsingClosedDatabase (t * testing.T ) {
@@ -663,11 +663,10 @@ func checkMetadata(t *testing.T, reader *Reader, ipVersion, recordSize uint) {
663663 assert .IsType (t , uint (0 ), metadata .BuildEpoch )
664664 assert .Equal (t , "Test" , metadata .DatabaseType )
665665
666- assert .Equal (t , metadata .Description ,
667- map [string ]string {
668- "en" : "Test Database" ,
669- "zh" : "Test Database Chinese" ,
670- })
666+ assert .Equal (t , map [string ]string {
667+ "en" : "Test Database" ,
668+ "zh" : "Test Database Chinese" ,
669+ }, metadata .Description )
671670 assert .Equal (t , ipVersion , metadata .IPVersion )
672671 assert .Equal (t , []string {"en" , "zh" }, metadata .Languages )
673672
@@ -687,7 +686,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
687686
688687 var result map [string ]string
689688 err := reader .Lookup (ip , & result )
690- assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
689+ require .NoError (t , err , "unexpected error while doing lookup: %v" , err )
691690 assert .Equal (t , map [string ]string {"ip" : address }, result )
692691 }
693692 pairs := map [string ]string {
@@ -707,7 +706,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
707706
708707 var result map [string ]string
709708 err := reader .Lookup (ip , & result )
710- assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
709+ require .NoError (t , err , "unexpected error while doing lookup: %v" , err )
711710 assert .Equal (t , data , result )
712711 }
713712
@@ -716,7 +715,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
716715
717716 var result map [string ]string
718717 err := reader .Lookup (ip , & result )
719- assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
718+ require .NoError (t , err , "unexpected error while doing lookup: %v" , err )
720719 assert .Nil (t , result )
721720 }
722721}
@@ -730,7 +729,7 @@ func checkIpv6(t *testing.T, reader *Reader) {
730729 for _ , address := range subnets {
731730 var result map [string ]string
732731 err := reader .Lookup (net .ParseIP (address ), & result )
733- assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
732+ require .NoError (t , err , "unexpected error while doing lookup: %v" , err )
734733 assert .Equal (t , map [string ]string {"ip" : address }, result )
735734 }
736735
@@ -749,14 +748,14 @@ func checkIpv6(t *testing.T, reader *Reader) {
749748 data := map [string ]string {"ip" : valueAddress }
750749 var result map [string ]string
751750 err := reader .Lookup (net .ParseIP (keyAddress ), & result )
752- assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
751+ require .NoError (t , err , "unexpected error while doing lookup: %v" , err )
753752 assert .Equal (t , data , result )
754753 }
755754
756755 for _ , address := range []string {"1.1.1.33" , "255.254.253.123" , "89fa::" } {
757756 var result map [string ]string
758757 err := reader .Lookup (net .ParseIP (address ), & result )
759- assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
758+ require .NoError (t , err , "unexpected error while doing lookup: %v" , err )
760759 assert .Nil (t , result )
761760 }
762761}
@@ -771,7 +770,7 @@ func BenchmarkOpen(b *testing.B) {
771770 }
772771 }
773772 assert .NotNil (b , db )
774- assert .NoError (b , db .Close (), "error on close" )
773+ require .NoError (b , db .Close (), "error on close" )
775774}
776775
777776func BenchmarkInterfaceLookup (b * testing.B ) {
@@ -790,7 +789,7 @@ func BenchmarkInterfaceLookup(b *testing.B) {
790789 b .Error (err )
791790 }
792791 }
793- assert .NoError (b , db .Close (), "error on close" )
792+ require .NoError (b , db .Close (), "error on close" )
794793}
795794
796795func BenchmarkInterfaceLookupNetwork (b * testing.B ) {
@@ -809,7 +808,7 @@ func BenchmarkInterfaceLookupNetwork(b *testing.B) {
809808 b .Error (err )
810809 }
811810 }
812- assert .NoError (b , db .Close (), "error on close" )
811+ require .NoError (b , db .Close (), "error on close" )
813812}
814813
815814type fullCity struct {
@@ -878,7 +877,7 @@ func BenchmarkCityLookup(b *testing.B) {
878877 b .Error (err )
879878 }
880879 }
881- assert .NoError (b , db .Close (), "error on close" )
880+ require .NoError (b , db .Close (), "error on close" )
882881}
883882
884883func BenchmarkCityLookupNetwork (b * testing.B ) {
@@ -897,7 +896,7 @@ func BenchmarkCityLookupNetwork(b *testing.B) {
897896 b .Error (err )
898897 }
899898 }
900- assert .NoError (b , db .Close (), "error on close" )
899+ require .NoError (b , db .Close (), "error on close" )
901900}
902901
903902func BenchmarkCountryCode (b * testing.B ) {
@@ -922,7 +921,7 @@ func BenchmarkCountryCode(b *testing.B) {
922921 b .Error (err )
923922 }
924923 }
925- assert .NoError (b , db .Close (), "error on close" )
924+ require .NoError (b , db .Close (), "error on close" )
926925}
927926
928927func randomIPv4Address (r * rand.Rand , ip []byte ) {
0 commit comments