You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
975 B
47 lines
975 B
package util |
|
|
|
import ( |
|
"fmt" |
|
"strconv" |
|
"testing" |
|
) |
|
|
|
func TestIntToBytesSynchsafe(t *testing.T) { |
|
testInts := []uint32{ |
|
1234, |
|
12, |
|
1, |
|
0, |
|
99999, |
|
87654321, |
|
} |
|
|
|
for _, testInt := range testInts { |
|
synchSafeBytes := IntToBytesSynchsafe(testInt) |
|
if len(synchSafeBytes) != 4 { |
|
t.Errorf("IntToBytesSynchsafe failed: expected len to be %d; got %d", 4, len(synchSafeBytes)) |
|
} |
|
|
|
synchsafeInt := BytesToIntSynchsafe(synchSafeBytes) |
|
|
|
if synchsafeInt != testInt { |
|
t.Errorf("BytesToIntSynchsafe failed: expected to get %d; got %d", testInt, synchsafeInt) |
|
} |
|
} |
|
} |
|
|
|
func TestIntToBytes(t *testing.T) { |
|
var testInt uint32 = 124567 |
|
testIntBits := fmt.Sprintf("%032b", testInt) |
|
|
|
gotBytes := IntToBytes(testInt) |
|
|
|
i := 0 |
|
for _, gotByte := range gotBytes { |
|
correctByte, _ := strconv.ParseUint(testIntBits[i:i+8], 2, 8) |
|
if gotByte != byte(correctByte) { |
|
t.Errorf("IntToBytes failed: expected byte to be %d; got %d", correctByte, gotByte) |
|
} |
|
i += 8 |
|
} |
|
}
|
|
|