-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathllist_test.go
More file actions
58 lines (43 loc) · 1.21 KB
/
Copy pathllist_test.go
File metadata and controls
58 lines (43 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package dsg
import "testing"
import "fmt"
func TestList (t * testing.T) {
var i int
var logstr string
// for llist
ll := InitLList (10)
u1 := ll.Pop()
u2 := ll.PopFirst()
u3 := ll.GetFirst()
u4 := ll.GetLast()
if u1 == nil && u2 == nil && u3 == nil && u4 == nil {
logstr += fmt.Sprintf ("All Nils.\n")
}
for i = 20; i > 0; i -= 2 {
ll.Push (i)
}
for i = 0; i < ll.GetN(); i ++ {
logstr += fmt.Sprintf("%6d", *ll.Get(i))
}
logstr += fmt.Sprintf ("\n")
v1 := ll.Pop()
v2 := ll.Pop()
v3 := ll.PopFirst()
v4 := *ll.GetFirst()
v5 := *ll.GetLast()
for i = 0; i < ll.GetN(); i ++ {
logstr += fmt.Sprintf("%6d", *ll.Get(i))
}
logstr += fmt.Sprintf ("\n")
logstr += fmt.Sprintf ("%6d%6d%6d%6d%6d\n", v1, v2, v3, v4, v5)
ll.Flush()
u1 = ll.Pop()
u2 = ll.PopFirst()
u3 = ll.GetFirst()
u4 = ll.GetLast()
if u1 == nil && u2 == nil && u3 == nil && u4 == nil {
logstr += fmt.Sprintf ("All Nils.\n")
}
logstr += fmt.Sprintf ("Number of Elem. = %d\n", ll.GetN())
t.Log (logstr)
}