From 4c6c5030692e00855c1ba36036a191064082660d Mon Sep 17 00:00:00 2001 From: Alex Bramley Date: Wed, 12 Oct 2011 23:06:46 +0100 Subject: [PATCH] Beginning of state tracker unit tests. --- state/tracker_test.go | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 state/tracker_test.go diff --git a/state/tracker_test.go b/state/tracker_test.go new file mode 100644 index 0000000..9834144 --- /dev/null +++ b/state/tracker_test.go @@ -0,0 +1,62 @@ +package state + +import ( + "testing" +) + +func TestNewNick(t *testing.T) { + st := NewTracker() + + if len(st.nicks) != 0 { + t.Errorf("Nick list of new tracker is non-zero length.") + } + + nick := st.NewNick("test1") + + if nick == nil || nick.Nick != "test1" || nick.st != st { + t.Errorf("Nick object created incorrectly by NewNick.") + } + if n, ok := st.nicks["test1"]; !ok || n != nick || len(st.nicks) != 1 { + t.Errorf("Nick object stored incorrectly by NewNick.") + } + + if fail := st.NewNick("test1"); fail != nil { + t.Errorf("Creating duplicate nick did not produce nil return.") + } +} + +func TestGetNick(t *testing.T) { + st := NewTracker() + + test1 := &Nick{Nick: "test1", st: st} + st.nicks["test1"] = test1 + + if n := st.GetNick("test1"); n != test1 { + t.Errorf("Incorrect nick returned by GetNick.") + } + if n := st.GetNick("test2"); n != nil { + t.Errorf("Nick unexpectedly returned by GetNick.") + } + if len(st.nicks) != 1 { + t.Errorf("Nick list changed size during GetNick.") + } +} + +func TestReNick(t *testing.T) { + st := NewTracker() + + test1 := &Nick{Nick: "test1", st: st} + st.nicks["test1"] = test1 + + st.ReNick("test1", "test2") + + if _, ok := st.nicks["test1"]; ok { + t.Errorf("Nick test1 still exists after ReNick.") + } + if n, ok := st.nicks["test2"]; !ok || n != test1 { + t.Errorf("Nick test2 doesn't exist after ReNick.") + } + if len(st.nicks) != 1 { + t.Errorf("Nick list changed size during GetNick.") + } +}