func TestDeleteNode(t *testing.T) { deleteNodeTests := initializeDeleteNode() for _, test := range deleteNodeTests { // save original list in a temporary list temp := datastructures.LinkedList{} for elem := range test.orig.GetElements() { n := datastructures.Node{} n.SetValue(elem) temp.Add(&n) } DeleteNode(&test.node) // item by item check through two lists for i := 0; i < test.orig.Len(); i++ { if test.orig.Find(i) != test.result.Find(i) { t.Error("For ", temp.GetElements(), "Expected", test.result.GetElements(), "got", test.orig.GetElements()) } } } }