gitlab.com/Hugrid-1/go-kata@v0.0.0-20230510051527-462385f70668/module3/task/main_benchmark_test.go (about) 1 package main 2 3 import ( 4 "testing" 5 "time" 6 ) 7 8 func generateTestData() *DoubleLinkedList { 9 newList := &DoubleLinkedList{} 10 err := newList.LoadData("data/doublelinkedlist_testBigData.json") 11 if err != nil { 12 panic(err) 13 } 14 return newList 15 } 16 17 func BenchmarkDoubleLinkedList_LoadData(b *testing.B) { 18 newList := &DoubleLinkedList{} 19 b.ResetTimer() 20 for i := 0; i < b.N; i++ { 21 err := newList.LoadData("data/doublelinkedlist_testBigData.json") 22 if err != nil { 23 panic(err) 24 } 25 } 26 } 27 28 func BenchmarkDoubleLinkedList_Prev(b *testing.B) { 29 newList := generateTestData() 30 b.ResetTimer() 31 for i := 0; i < b.N; i++ { 32 newList.Prev() 33 } 34 } 35 36 func BenchmarkDoubleLinkedList_Next(b *testing.B) { 37 newList := generateTestData() 38 b.ResetTimer() 39 for i := 0; i < b.N; i++ { 40 newList.Next() 41 } 42 } 43 44 func BenchmarkDoubleLinkedList_Len(b *testing.B) { 45 newList := generateTestData() 46 b.ResetTimer() 47 for i := 0; i < b.N; i++ { 48 newList.Len() 49 } 50 } 51 52 func BenchmarkDoubleLinkedList_Index(b *testing.B) { 53 newList := generateTestData() 54 b.ResetTimer() 55 for i := 0; i < b.N; i++ { 56 _, err := newList.Index() 57 if err != nil { 58 return 59 } 60 } 61 } 62 func BenchmarkDoubleLinkedList_Current(b *testing.B) { 63 newList := generateTestData() 64 b.ResetTimer() 65 for i := 0; i < b.N; i++ { 66 newList.Current() 67 } 68 } 69 70 func BenchmarkDoubleLinkedList_Reverse(b *testing.B) { 71 newList := generateTestData() 72 b.ResetTimer() 73 for i := 0; i < b.N; i++ { 74 _, err := newList.Reverse() 75 if err != nil { 76 return 77 } 78 } 79 } 80 81 func BenchmarkDoubleLinkedList_Search(b *testing.B) { 82 newList := generateTestData() 83 b.ResetTimer() 84 for i := 0; i < b.N; i++ { 85 _, err := newList.Search("Kata secret commit") 86 if err != nil { 87 return 88 } 89 } 90 } 91 92 func BenchmarkDoubleLinkedList_SearchUUID(b *testing.B) { 93 newList := generateTestData() 94 b.ResetTimer() 95 for i := 0; i < b.N; i++ { 96 _, err := newList.SearchUUID("6958b3ae-875b-11ed-8150-acde48001122") 97 if err != nil { 98 return 99 } 100 } 101 } 102 103 func BenchmarkDoubleLinkedList_Shift(b *testing.B) { 104 newList := generateTestData() 105 b.ResetTimer() 106 for i := 0; i < newList.Len()-1; i++ { 107 _, err := newList.Shift() 108 if err != nil { 109 return 110 } 111 } 112 } 113 114 func BenchmarkDoubleLinkedList_Pop(b *testing.B) { 115 newList := generateTestData() 116 b.ResetTimer() 117 for i := 0; i < newList.Len()-1; i++ { 118 _, err := newList.Pop() 119 if err != nil { 120 return 121 } 122 } 123 } 124 func BenchmarkDoubleLinkedList_Delete(b *testing.B) { 125 newList := generateTestData() 126 b.ResetTimer() 127 for i := 0; i < newList.Len()-1; i++ { 128 err := newList.Delete(1) 129 if err != nil { 130 return 131 } 132 } 133 } 134 135 func BenchmarkDoubleLinkedList_DeleteCurrent(b *testing.B) { 136 newList := generateTestData() 137 b.ResetTimer() 138 for i := 0; i < newList.Len()-1; i++ { 139 err := newList.DeleteCurrent() 140 if err != nil { 141 return 142 } 143 } 144 } 145 func BenchmarkDoubleLinkedList_Insert(b *testing.B) { 146 newList := generateTestData() 147 testCommit := Commit{ 148 Message: "newTest commit", 149 UUID: "T3STUU1D--T3STUU1D--T3STUU1D-T3STUU1D--T3STUU1D-", 150 Date: time.Now(), 151 } 152 b.ResetTimer() 153 for i := 0; i < b.N; i++ { 154 err := newList.Insert(0, testCommit) 155 if err != nil { 156 return 157 } 158 } 159 }