GoCollections/collections/ArrayList_test.go
2022-11-25 18:19:33 +08:00

84 lines
1.8 KiB
Go

/*
* Copyright (c) 2022 tursom. All rights reserved.
* Use of this source code is governed by a GPL-3
* license that can be found in the LICENSE file.
*/
package collections
import (
"fmt"
"testing"
"github.com/tursom/GoCollections/exceptions"
"github.com/tursom/GoCollections/lang"
)
func Test_NewArrayListByCapacity(t *testing.T) {
capacity := 10
list := NewArrayListByCapacity[lang.Int](capacity)
if len(list.array) != 0 && cap(list.array) != capacity {
t.Fail()
}
}
func Test_NewArrayListFrom(t *testing.T) {
list := NewArrayList[lang.Int]()
for i := 0; i < 10; i++ {
list.Add(lang.Int(i))
}
newList := NewArrayListFrom[lang.Int](list, 5, 6)
fmt.Println(newList)
}
func TestArrayListAdd(t *testing.T) {
list := NewArrayList[lang.Int]()
for i := 0; i < 10; i++ {
list.Add(lang.Int(i))
fmt.Println(list)
}
for i := 0; i < 10; i++ {
list.RemoveLast()
fmt.Println(list)
}
}
func TestLinkedList(t *testing.T) {
list := NewLinkedList[lang.Int]()
for i := 0; i < 10; i++ {
list.Add(lang.Int(i))
fmt.Println(list)
for j := 0; j <= i; j++ {
//exceptions.Exec2r0[
// func(func() (error, error, error)) (error, error),
// func() (error, error, error),
// error,
//](
exceptions.Exec2r0(
//exceptions.Exec1r1,
//exceptions.Exec0r2,
exceptions.Exec1r1[func() (error, error, error), error, error],
exceptions.Exec0r2[error, error, error],
func() (error, error, error) {
return nil, nil, nil
},
)
//get := (*LinkedList[lang.Int]).Get
//fmt.Println(exceptions.Exec2r1[func(int) (int, exceptions.Exception), List[int], int](get, list, j).AsInt())
}
}
for i := 0; i < 10; i++ {
list.RemoveLast()
fmt.Println(list)
}
}
func TestEqualsFunc(t *testing.T) {
f := func() {}
fmt.Println(equals(f, f))
}
func equals(v1, v2 any) bool {
return v1 == v2
}