2021-12-24 02:20:25 -05:00
|
|
|
package gokwallet
|
2021-12-28 02:50:54 -05:00
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
// TestUnknownItem tests all functions of an UnknownItem.
|
|
|
|
func TestUnknownItem(t *testing.T) {
|
|
|
|
|
|
|
|
var u *UnknownItem
|
|
|
|
var e *testEnv
|
|
|
|
var err error
|
|
|
|
var i int
|
|
|
|
|
|
|
|
if e, err = getTestEnv(t); err != nil {
|
|
|
|
t.Fatalf("failure getting test env: %v", err)
|
|
|
|
}
|
|
|
|
defer e.cleanup(t)
|
|
|
|
|
|
|
|
if u, err = NewUnknownItem(e.f, unknownItemTest.String(), e.r); err != nil {
|
|
|
|
t.Fatalf("failure getting UnknownItem: %v", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
t.Logf("created UnknownItem '%v:%v:%v'; initialized: %v", e.w.Name, e.f.Name, u.Name, u.isInit)
|
|
|
|
|
|
|
|
if err = u.SetValue(testBytes); err != nil {
|
|
|
|
t.Errorf("failed to set value for UnknownItem '%v:%v:%v': %v", e.w.Name, e.f.Name, u.Name, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if i = bytes.Compare(u.Value, testBytes); i != 0 {
|
|
|
|
t.Errorf("value '%#v' does not match expected value '%#v'", u.Value, testBytes)
|
|
|
|
} else {
|
|
|
|
t.Logf("value for UnknownItem '%v:%v:%v': %#v", e.w.Name, e.f.Name, u.Name, u.Value)
|
|
|
|
}
|
|
|
|
|
|
|
|
if err = u.SetValue(testBytesReplace); err != nil {
|
|
|
|
t.Errorf("failed to set replacement value for UnknownItem '%v:%v:%v': %v", e.w.Name, e.f.Name, u.Name, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if err = u.Update(); err != nil {
|
|
|
|
t.Errorf("failed to update UnknownItem '%v:%v:%v': %v", e.w.Name, e.f.Name, u.Name, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
t.Logf("replacement value for UnknownItem '%v:%v:%v': %v", e.w.Name, e.f.Name, u.Name, u.Value)
|
|
|
|
|
|
|
|
if i = bytes.Compare(u.Value, testBytesReplace); i != 0 {
|
|
|
|
t.Errorf("value '%#v' does not match expected value '%#v'", u.Value, testBytesReplace)
|
|
|
|
}
|
|
|
|
|
|
|
|
if err = u.Delete(); err != nil {
|
|
|
|
t.Errorf("failed to delete UnknownItem '%v:%v:%v': %v", e.w.Name, e.f.Name, u.Name, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|