github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/algorithm/datastructures/array/array_test.go (about)

     1  package array
     2  
     3  import "testing"
     4  
     5  func loadArry() (*Array, error) {
     6  	capacity := 10
     7  	arr := New(uint(capacity))
     8  	for i := 0; i < capacity; i++ {
     9  		err := arr.Insert(uint(i), i+1)
    10  		if nil != err {
    11  			return nil, err
    12  		}
    13  	}
    14  	return arr, nil
    15  }
    16  
    17  func TestArray_Insert(t *testing.T) {
    18  	arr, err := loadArry()
    19  	if err != nil {
    20  		t.Fatal(err)
    21  	}
    22  	t.Log(arr)
    23  
    24  	arr.Insert(uint(6), 999)
    25  	t.Log(arr)
    26  
    27  	arr.InsertToTail(666)
    28  	t.Log(arr)
    29  }
    30  
    31  func TestArray_Delete(t *testing.T) {
    32  	arr, err := loadArry()
    33  	if err != nil {
    34  		t.Fatal(err)
    35  	}
    36  	t.Log(arr)
    37  	for i := 9; i >= 0; i-- {
    38  		_, err := arr.Delete(uint(i))
    39  		if nil != err {
    40  			t.Fatal(err)
    41  		}
    42  		t.Log(arr)
    43  	}
    44  }
    45  
    46  func TestArray_Find(t *testing.T) {
    47  	arr, err := loadArry()
    48  	if err != nil {
    49  		t.Fatal(err)
    50  	}
    51  	t.Log(arr)
    52  
    53  	t.Log(arr.Find(0))
    54  	t.Log(arr.Find(9))
    55  	t.Log(arr.Find(11))
    56  }