snowflake/snowflake_test.go

72 lines
1.1 KiB
Go
Raw Normal View History

2016-06-01 16:15:57 -05:00
package snowflake
2016-05-25 14:57:33 -05:00
import "testing"
2016-05-25 14:57:33 -05:00
func TestMarshalJSON(t *testing.T) {
id := ID(13587)
expected := "\"13587\""
bytes, err := id.MarshalJSON()
if err != nil {
t.Error("Unexpected error during MarshalJSON")
}
if string(bytes) != expected {
t.Errorf("Got %s, expected %s", string(bytes), expected)
}
}
func TestUnmarshalJSON(t *testing.T) {
strID := "\"13587\""
expected := ID(13587)
var id ID
err := id.UnmarshalJSON([]byte(strID))
if err != nil {
t.Error("Unexpected error during UnmarshalJSON")
}
if id != expected {
t.Errorf("Got %d, expected %d", id, expected)
}
}
2016-05-25 14:57:33 -05:00
func BenchmarkGenerate(b *testing.B) {
2016-06-01 14:59:26 -05:00
node, _ := NewNode(1)
2016-05-25 14:57:33 -05:00
b.ReportAllocs()
b.ResetTimer()
2016-05-25 14:57:33 -05:00
for n := 0; n < b.N; n++ {
_ = node.Generate()
2016-05-25 14:57:33 -05:00
}
}
func BenchmarkUnmarshal(b *testing.B) {
node, _ := NewNode(1)
id := node.Generate()
var id2 ID
b.ReportAllocs()
b.ResetTimer()
for n := 0; n < b.N; n++ {
2016-06-04 15:52:39 -05:00
_ = id2.UnmarshalJSON(id.Bytes())
}
}
func BenchmarkMarshal(b *testing.B) {
node, _ := NewNode(1)
id := node.Generate()
2016-05-25 14:57:33 -05:00
b.ReportAllocs()
b.ResetTimer()
for n := 0; n < b.N; n++ {
_, _ = id.MarshalJSON()
}
2016-05-25 14:57:33 -05:00
}