@@ -406,6 +406,9 @@ func TestToEncryptedColumn(t *testing.T) {
406
406
407
407
// Test convertToString Function
408
408
func TestConvertToString (t * testing.T ) {
409
+ // the ptr value for unitptr will change between tests
410
+ // set a mock value to use to confirm the convertToString function works on this uintptr.
411
+ var mockPtr uintptr = 1374390189136
409
412
tests := []struct {
410
413
value interface {}
411
414
expectedStr string
@@ -414,9 +417,31 @@ func TestConvertToString(t *testing.T) {
414
417
{value : "test_string" , expectedStr : "test_string" , expectError : false },
415
418
{value : 123 , expectedStr : "123" , expectError : false },
416
419
{value : 123.456 , expectedStr : "123.456000" , expectError : false },
420
+ {value : int (1 ), expectedStr : "1" , expectError : false },
421
+ {value : int8 (- 128 ), expectedStr : "-128" , expectError : false },
422
+ {value : int8 (127 ), expectedStr : "127" , expectError : false },
423
+ {value : int16 (- 32768 ), expectedStr : "-32768" , expectError : false },
424
+ {value : int16 (32767 ), expectedStr : "32767" , expectError : false },
425
+ {value : int32 (- 2147483648 ), expectedStr : "-2147483648" , expectError : false },
426
+ {value : int32 (2147483647 ), expectedStr : "2147483647" , expectError : false },
427
+ {value : int64 (- 9223372036854775808 ), expectedStr : "-9223372036854775808" , expectError : false },
428
+ {value : int64 (9223372036854775807 ), expectedStr : "9223372036854775807" , expectError : false },
429
+ {value : uint (1 ), expectedStr : "1" , expectError : false },
430
+ {value : uint8 (255 ), expectedStr : "255" , expectError : false },
431
+ {value : uint16 (65535 ), expectedStr : "65535" , expectError : false },
432
+ {value : uint32 (4294967295 ), expectedStr : "4294967295" , expectError : false },
433
+ {value : uint64 (18446744073709551615 ), expectedStr : "18446744073709551615" , expectError : false },
434
+ {value : float32 (123.456 ), expectedStr : "123.456001" , expectError : false },
435
+ {value : float32 (- 10.543 ), expectedStr : "-10.543000" , expectError : false },
436
+ {value : float64 (3.1425 ), expectedStr : "3.142500" , expectError : false },
437
+ {value : float64 (- 2.7182 ), expectedStr : "-2.718200" , expectError : false },
438
+ {value : mockPtr , expectedStr : "1374390189136" , expectError : false }, //uinttpr type
417
439
{value : true , expectedStr : "true" , expectError : false },
418
440
{value : map [string ]interface {}{"key" : "value" }, expectedStr : `{"key":"value"}` , expectError : false },
419
- {value : []int {1 , 2 , 3 }, expectedStr : "" , expectError : true }, // Unsupported type
441
+ {value : []int {1 , 2 , 3 }, expectedStr : "[1, 2, 3]" , expectError : false },
442
+ {value : []float64 {1.1 , 2.2 , 3.3 }, expectedStr : "[1.100000, 2.200000, 3.300000]" , expectError : false },
443
+ {value : []string {"hello" , "world" }, expectedStr : "[hello, world]" , expectError : false },
444
+ {value : []bool {true , false , true }, expectedStr : "[true, false, true]" , expectError : false },
420
445
}
421
446
422
447
for _ , tt := range tests {
@@ -429,7 +454,7 @@ func TestConvertToString(t *testing.T) {
429
454
if err != nil {
430
455
t .Errorf ("Unexpected error for value: %v, error: %v" , tt .value , err )
431
456
} else if str != tt .expectedStr {
432
- t .Errorf ("Expected '%s', got '%s' for value: %v" , tt .expectedStr , str , tt .value )
457
+ t .Errorf ("Expected '%s', got '%s' for value: %v for type: '%s' " , tt .expectedStr , str , tt .value , reflect . TypeOf ( tt . value ) )
433
458
}
434
459
}
435
460
}
0 commit comments