package array
import "array"
+import "testing"
+import "sort"
-export func TestInit() bool {
+export func TestInit(t *testing.T) {
var a array.Array;
- if a.Init(0).Len() != 0 { return false }
- if a.Init(1).Len() != 1 { return false }
- if a.Init(10).Len() != 10 { return false }
- return true;
+ if a.Init(0).Len() != 0 { t.FailNow() }
+ if a.Init(1).Len() != 1 { t.FailNow() }
+ if a.Init(10).Len() != 10 { t.FailNow() }
}
-export func TestNew() bool {
- if array.New(0).Len() != 0 { return false }
- if array.New(1).Len() != 1 { return false }
- if array.New(10).Len() != 10 { return false }
- return true;
+export func TestNew(t *testing.T) {
+ if array.New(0).Len() != 0 { t.FailNow() }
+ if array.New(1).Len() != 1 { t.FailNow() }
+ if array.New(10).Len() != 10 { t.FailNow() }
}
}
-export func TestAccess() bool {
+export func TestAccess(t *testing.T) {
const n = 100;
var a array.Array;
a.Init(n);
a.Set(i, Val(i));
}
for i := 0; i < n; i++ {
- if a.At(i).(int) != Val(i) { return false }
+ if a.At(i).(int) != Val(i) { t.FailNow() }
}
- return true;
}
-export func TestInsertRemoveClear() bool {
+export func TestInsertRemoveClear(t *testing.T) {
const n = 100;
a := array.New(0);
for i := 0; i < n; i++ {
- if a.Len() != i { return false }
+ if a.Len() != i { t.FailNow() }
a.Insert(0, Val(i));
- if a.Last().(int) != Val(0) { return false }
+ if a.Last().(int) != Val(0) { t.FailNow() }
}
for i := n-1; i >= 0; i-- {
- if a.Last().(int) != Val(0) { return false }
- if a.Remove(0).(int) != Val(i) { return false }
- if a.Len() != i { return false }
+ if a.Last().(int) != Val(0) { t.FailNow() }
+ if a.Remove(0).(int) != Val(i) { t.FailNow() }
+ if a.Len() != i { t.FailNow() }
}
- if a.Len() != 0 { return false }
+ if a.Len() != 0 { t.FailNow() }
for i := 0; i < n; i++ {
a.Push(Val(i));
- if a.Len() != i+1 { return false }
- if a.Last().(int) != Val(i) { return false }
+ if a.Len() != i+1 { t.FailNow() }
+ if a.Last().(int) != Val(i) { t.FailNow() }
}
a.Init(0);
- if a.Len() != 0 { return false }
+ if a.Len() != 0 { t.FailNow() }
const m = 5;
for j := 0; j < m; j++ {
for i := 0; i < n; i++ {
x := Val(i);
a.Push(x);
- if a.Pop().(int) != x { return false }
- if a.Len() != j+1 { return false }
+ if a.Pop().(int) != x { t.FailNow() }
+ if a.Len() != j+1 { t.FailNow() }
}
}
- if a.Len() != m { return false }
-
- return true;
+ if a.Len() != m { t.FailNow() }
}