From 48334e3e916b04f2754a3bdd704049e4eec19756 Mon Sep 17 00:00:00 2001 From: Shawn Smith Date: Sun, 5 Jan 2014 07:48:32 +1100 Subject: [PATCH] container/list: improve test coverage R=golang-codereviews, dave, gobot, bradfitz, gri CC=golang-codereviews https://golang.org/cl/46640043 --- src/pkg/container/list/list_test.go | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/pkg/container/list/list_test.go b/src/pkg/container/list/list_test.go index ee52afe82b..df06c423fe 100644 --- a/src/pkg/container/list/list_test.go +++ b/src/pkg/container/list/list_test.go @@ -285,3 +285,42 @@ func TestMove(t *testing.T) { checkListPointers(t, l, []*Element{e1, e3, e2, e4}) e1, e2, e3, e4 = e1, e3, e2, e4 } + +// Test PushFront, PushBack, PushFrontList, PushBackList with uninitialized List +func TestZeroList(t *testing.T) { + var l1 = new(List) + l1.PushFront(1) + checkList(t, l1, []interface{}{1}) + + var l2 = new(List) + l2.PushBack(1) + checkList(t, l2, []interface{}{1}) + + var l3 = new(List) + l3.PushFrontList(l1) + checkList(t, l3, []interface{}{1}) + + var l4 = new(List) + l4.PushBackList(l2) + checkList(t, l4, []interface{}{1}) +} + +// Test that a list l is not modified when calling InsertBefore with a mark that is not an element of l. +func TestInsertBeforeUnknownMark(t *testing.T) { + var l List + l.PushBack(1) + l.PushBack(2) + l.PushBack(3) + l.InsertBefore(1, new(Element)) + checkList(t, &l, []interface{}{1, 2, 3}) +} + +// Test that a list l is not modified when calling InsertAfter with a mark that is not an element of l. +func TestInsertAfterUnknownMark(t *testing.T) { + var l List + l.PushBack(1) + l.PushBack(2) + l.PushBack(3) + l.InsertAfter(1, new(Element)) + checkList(t, &l, []interface{}{1, 2, 3}) +} -- 2.48.1