v8.run/go/exp@v0.0.26-0.20230226010534-afcdbd3f782d/util/mathutil/map_test.go (about) 1 package mathutil 2 3 import ( 4 "testing" 5 ) 6 7 func TestMapInt(t *testing.T) { 8 type args struct { 9 v int 10 inMin int 11 inMax int 12 outMin int 13 outMax int 14 } 15 tests := []struct { 16 name string 17 args args 18 want int 19 }{ 20 { 21 name: "0", 22 args: args{ 23 v: 0, 24 inMin: 0, 25 inMax: 10, 26 outMin: 0, 27 outMax: 10000, 28 }, 29 want: 0, 30 }, 31 { 32 name: "10", 33 args: args{ 34 v: 10, 35 inMin: 0, 36 inMax: 10, 37 outMin: 0, 38 outMax: 10000, 39 }, 40 want: 10000, 41 }, 42 { 43 name: "5", 44 args: args{ 45 v: 5, 46 inMin: 0, 47 inMax: 10, 48 outMin: 0, 49 outMax: 10000, 50 }, 51 want: 5000, 52 }, 53 { 54 name: "2", 55 args: args{ 56 v: 2, 57 inMin: 0, 58 inMax: 10, 59 outMin: 0, 60 outMax: 10000, 61 }, 62 want: 2000, 63 }, 64 { 65 name: "7", 66 args: args{ 67 v: 7, 68 inMin: 0, 69 inMax: 10, 70 outMin: 0, 71 outMax: 10000, 72 }, 73 want: 7000, 74 }, 75 } 76 for _, tt := range tests { 77 t.Run(tt.name, func(t *testing.T) { 78 if got := MapInt(tt.args.v, tt.args.inMin, tt.args.inMax, tt.args.outMin, tt.args.outMax); got != tt.want { 79 t.Errorf("MapInt() = %v, want %v", got, tt.want) 80 } 81 }) 82 } 83 } 84 85 func TestMapFloat64(t *testing.T) { 86 type args struct { 87 v float64 88 inMin float64 89 inMax float64 90 outMin float64 91 outMax float64 92 } 93 tests := []struct { 94 name string 95 args args 96 want float64 97 }{ 98 { 99 name: "0", 100 args: args{ 101 v: 0, 102 inMin: 0, 103 inMax: 10, 104 outMin: 0, 105 outMax: 10000, 106 }, 107 want: 0, 108 }, 109 { 110 name: "10", 111 args: args{ 112 v: 10, 113 inMin: 0, 114 inMax: 10, 115 outMin: 0, 116 outMax: 10000, 117 }, 118 want: 10000, 119 }, 120 { 121 name: "5", 122 args: args{ 123 v: 5, 124 inMin: 0, 125 inMax: 10, 126 outMin: 0, 127 outMax: 10000, 128 }, 129 want: 5000, 130 }, 131 { 132 name: "2", 133 args: args{ 134 v: 2, 135 inMin: 0, 136 inMax: 10, 137 outMin: 0, 138 outMax: 10000, 139 }, 140 want: 2000, 141 }, 142 { 143 name: "7", 144 args: args{ 145 v: 7, 146 inMin: 0, 147 inMax: 10, 148 outMin: 0, 149 outMax: 10000, 150 }, 151 want: 7000, 152 }, 153 } 154 for _, tt := range tests { 155 t.Run(tt.name, func(t *testing.T) { 156 if got := MapFloat64(tt.args.v, tt.args.inMin, tt.args.inMax, tt.args.outMin, tt.args.outMax); got != tt.want { 157 t.Errorf("MapFloat64() = %v, want %v", got, tt.want) 158 } 159 }) 160 } 161 } 162 163 func TestMapFloat32(t *testing.T) { 164 type args struct { 165 v float32 166 inMin float32 167 inMax float32 168 outMin float32 169 outMax float32 170 } 171 tests := []struct { 172 name string 173 args args 174 want float32 175 }{ 176 { 177 name: "0", 178 args: args{ 179 v: 0, 180 inMin: 0, 181 inMax: 10, 182 outMin: 0, 183 outMax: 10000, 184 }, 185 want: 0, 186 }, 187 { 188 name: "10", 189 args: args{ 190 v: 10, 191 inMin: 0, 192 inMax: 10, 193 outMin: 0, 194 outMax: 10000, 195 }, 196 want: 10000, 197 }, 198 { 199 name: "5", 200 args: args{ 201 v: 5, 202 inMin: 0, 203 inMax: 10, 204 outMin: 0, 205 outMax: 10000, 206 }, 207 want: 5000, 208 }, 209 { 210 name: "2", 211 args: args{ 212 v: 2, 213 inMin: 0, 214 inMax: 10, 215 outMin: 0, 216 outMax: 10000, 217 }, 218 want: 2000, 219 }, 220 { 221 name: "7", 222 args: args{ 223 v: 7, 224 inMin: 0, 225 inMax: 10, 226 outMin: 0, 227 outMax: 10000, 228 }, 229 want: 7000, 230 }, 231 } 232 for _, tt := range tests { 233 t.Run(tt.name, func(t *testing.T) { 234 if got := MapFloat32(tt.args.v, tt.args.inMin, tt.args.inMax, tt.args.outMin, tt.args.outMax); got != tt.want { 235 t.Errorf("MapFloat32() = %v, want %v", got, tt.want) 236 } 237 }) 238 } 239 }