@@ -225,8 +225,8 @@ func checkDecodingToInterface(t *testing.T, recordInterface any) {
225
225
assert .Equal (t , []any {uint64 (1 ), uint64 (2 ), uint64 (3 )}, record ["array" ])
226
226
assert .Equal (t , true , record ["boolean" ])
227
227
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 )
230
230
assert .Equal (t , - 268435456 , record ["int32" ])
231
231
assert .Equal (t ,
232
232
map [string ]any {
@@ -268,10 +268,10 @@ func TestDecoder(t *testing.T) {
268
268
269
269
verify := func (result TestType ) {
270
270
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 )
272
272
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 )
275
275
assert .Equal (t , int32 (- 268435456 ), result .Int32 )
276
276
277
277
assert .Equal (t ,
@@ -306,11 +306,11 @@ func TestDecoder(t *testing.T) {
306
306
require .NoError (t , err )
307
307
assert .NotEqual (t , NotFound , offset )
308
308
309
- assert .NoError (t , reader .Decode (offset , & result ))
309
+ require .NoError (t , reader .Decode (offset , & result ))
310
310
verify (result )
311
311
}
312
312
313
- assert .NoError (t , reader .Close ())
313
+ require .NoError (t , reader .Close ())
314
314
}
315
315
316
316
type TestInterface interface {
@@ -329,7 +329,7 @@ func TestStructInterface(t *testing.T) {
329
329
330
330
require .NoError (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
331
331
332
- assert .Equal ( t , true , result .method ())
332
+ assert .True ( t , result .method ())
333
333
}
334
334
335
335
func TestNonEmptyNilInterface (t * testing.T ) {
@@ -361,7 +361,7 @@ func TestEmbeddedStructAsInterface(t *testing.T) {
361
361
db , err := Open (testFile ("GeoIP2-ISP-Test.mmdb" ))
362
362
require .NoError (t , err )
363
363
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 ))
365
365
}
366
366
367
367
type BoolInterface interface {
@@ -425,18 +425,18 @@ type TestPointerType struct {
425
425
426
426
func TestComplexStructWithNestingAndPointer (t * testing.T ) {
427
427
reader , err := Open (testFile ("MaxMind-DB-test-decoder.mmdb" ))
428
- assert .NoError (t , err )
428
+ require .NoError (t , err )
429
429
430
430
var result TestPointerType
431
431
432
432
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result )
433
433
require .NoError (t , err )
434
434
435
435
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 )
437
437
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 )
440
440
assert .Equal (t , int32 (- 268435456 ), * result .Int32 )
441
441
442
442
assert .Equal (t , []int {7 , 8 , 9 }, result .Map .MapX .ArrayX )
@@ -451,7 +451,7 @@ func TestComplexStructWithNestingAndPointer(t *testing.T) {
451
451
bigInt .SetString ("1329227995784915872903807060280344576" , 10 )
452
452
assert .Equal (t , bigInt , result .Uint128 )
453
453
454
- assert .NoError (t , reader .Close ())
454
+ require .NoError (t , reader .Close ())
455
455
}
456
456
457
457
// See GitHub #115.
@@ -520,7 +520,7 @@ func TestNestedOffsetDecode(t *testing.T) {
520
520
require .NoError (t , err )
521
521
522
522
off , err := db .LookupOffset (net .ParseIP ("81.2.69.142" ))
523
- assert .NotEqual (t , off , NotFound )
523
+ assert .NotEqual (t , NotFound , off )
524
524
require .NoError (t , err )
525
525
526
526
var root struct {
@@ -534,24 +534,24 @@ func TestNestedOffsetDecode(t *testing.T) {
534
534
TimeZoneOffset uintptr `maxminddb:"time_zone"`
535
535
} `maxminddb:"location"`
536
536
}
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 )
539
539
540
540
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 )
543
543
544
544
var timeZone string
545
- assert .NoError (t , db .Decode (root .Location .TimeZoneOffset , & timeZone ))
545
+ require .NoError (t , db .Decode (root .Location .TimeZoneOffset , & timeZone ))
546
546
assert .Equal (t , "Europe/London" , timeZone )
547
547
548
548
var country struct {
549
549
IsoCode string `maxminddb:"iso_code"`
550
550
}
551
- assert .NoError (t , db .Decode (root .CountryOffset , & country ))
551
+ require .NoError (t , db .Decode (root .CountryOffset , & country ))
552
552
assert .Equal (t , "GB" , country .IsoCode )
553
553
554
- assert .NoError (t , db .Close ())
554
+ require .NoError (t , db .Close ())
555
555
}
556
556
557
557
func TestDecodingUint16IntoInt (t * testing.T ) {
@@ -581,7 +581,7 @@ func TestIpv6inIpv4(t *testing.T) {
581
581
"error looking up '2001::': you attempted to look up an IPv6 address in an IPv4-only database" ,
582
582
)
583
583
assert .Equal (t , expected , err )
584
- assert .NoError (t , reader .Close (), "error on close" )
584
+ require .NoError (t , reader .Close (), "error on close" )
585
585
}
586
586
587
587
func TestBrokenDoubleDatabase (t * testing.T ) {
@@ -595,7 +595,7 @@ func TestBrokenDoubleDatabase(t *testing.T) {
595
595
"the MaxMind DB file's data section contains bad data (float 64 size of 2)" ,
596
596
)
597
597
assert .Equal (t , expected , err )
598
- assert .NoError (t , reader .Close (), "error on close" )
598
+ require .NoError (t , reader .Close (), "error on close" )
599
599
}
600
600
601
601
func TestInvalidNodeCountDatabase (t * testing.T ) {
@@ -624,7 +624,7 @@ func TestDecodingToNonPointer(t *testing.T) {
624
624
var recordInterface any
625
625
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), recordInterface )
626
626
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" )
628
628
}
629
629
630
630
func TestNilLookup (t * testing.T ) {
@@ -634,7 +634,7 @@ func TestNilLookup(t *testing.T) {
634
634
var recordInterface any
635
635
err = reader .Lookup (nil , recordInterface )
636
636
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" )
638
638
}
639
639
640
640
func TestUsingClosedDatabase (t * testing.T ) {
@@ -663,11 +663,10 @@ func checkMetadata(t *testing.T, reader *Reader, ipVersion, recordSize uint) {
663
663
assert .IsType (t , uint (0 ), metadata .BuildEpoch )
664
664
assert .Equal (t , "Test" , metadata .DatabaseType )
665
665
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 )
671
670
assert .Equal (t , ipVersion , metadata .IPVersion )
672
671
assert .Equal (t , []string {"en" , "zh" }, metadata .Languages )
673
672
@@ -687,7 +686,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
687
686
688
687
var result map [string ]string
689
688
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 )
691
690
assert .Equal (t , map [string ]string {"ip" : address }, result )
692
691
}
693
692
pairs := map [string ]string {
@@ -707,7 +706,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
707
706
708
707
var result map [string ]string
709
708
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 )
711
710
assert .Equal (t , data , result )
712
711
}
713
712
@@ -716,7 +715,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
716
715
717
716
var result map [string ]string
718
717
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 )
720
719
assert .Nil (t , result )
721
720
}
722
721
}
@@ -730,7 +729,7 @@ func checkIpv6(t *testing.T, reader *Reader) {
730
729
for _ , address := range subnets {
731
730
var result map [string ]string
732
731
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 )
734
733
assert .Equal (t , map [string ]string {"ip" : address }, result )
735
734
}
736
735
@@ -749,14 +748,14 @@ func checkIpv6(t *testing.T, reader *Reader) {
749
748
data := map [string ]string {"ip" : valueAddress }
750
749
var result map [string ]string
751
750
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 )
753
752
assert .Equal (t , data , result )
754
753
}
755
754
756
755
for _ , address := range []string {"1.1.1.33" , "255.254.253.123" , "89fa::" } {
757
756
var result map [string ]string
758
757
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 )
760
759
assert .Nil (t , result )
761
760
}
762
761
}
@@ -771,7 +770,7 @@ func BenchmarkOpen(b *testing.B) {
771
770
}
772
771
}
773
772
assert .NotNil (b , db )
774
- assert .NoError (b , db .Close (), "error on close" )
773
+ require .NoError (b , db .Close (), "error on close" )
775
774
}
776
775
777
776
func BenchmarkInterfaceLookup (b * testing.B ) {
@@ -790,7 +789,7 @@ func BenchmarkInterfaceLookup(b *testing.B) {
790
789
b .Error (err )
791
790
}
792
791
}
793
- assert .NoError (b , db .Close (), "error on close" )
792
+ require .NoError (b , db .Close (), "error on close" )
794
793
}
795
794
796
795
func BenchmarkInterfaceLookupNetwork (b * testing.B ) {
@@ -809,7 +808,7 @@ func BenchmarkInterfaceLookupNetwork(b *testing.B) {
809
808
b .Error (err )
810
809
}
811
810
}
812
- assert .NoError (b , db .Close (), "error on close" )
811
+ require .NoError (b , db .Close (), "error on close" )
813
812
}
814
813
815
814
type fullCity struct {
@@ -878,7 +877,7 @@ func BenchmarkCityLookup(b *testing.B) {
878
877
b .Error (err )
879
878
}
880
879
}
881
- assert .NoError (b , db .Close (), "error on close" )
880
+ require .NoError (b , db .Close (), "error on close" )
882
881
}
883
882
884
883
func BenchmarkCityLookupNetwork (b * testing.B ) {
@@ -897,7 +896,7 @@ func BenchmarkCityLookupNetwork(b *testing.B) {
897
896
b .Error (err )
898
897
}
899
898
}
900
- assert .NoError (b , db .Close (), "error on close" )
899
+ require .NoError (b , db .Close (), "error on close" )
901
900
}
902
901
903
902
func BenchmarkCountryCode (b * testing.B ) {
@@ -922,7 +921,7 @@ func BenchmarkCountryCode(b *testing.B) {
922
921
b .Error (err )
923
922
}
924
923
}
925
- assert .NoError (b , db .Close (), "error on close" )
924
+ require .NoError (b , db .Close (), "error on close" )
926
925
}
927
926
928
927
func randomIPv4Address (r * rand.Rand , ip []byte ) {
0 commit comments