| 256 | } |
| 257 | |
| 258 | func TestPointNormalize(t *testing.T) { |
| 259 | data := []struct { |
| 260 | p1, unit Point |
| 261 | mag float32 |
| 262 | }{ |
| 263 | {p1: Point{X: 0, Y: 0}, unit: Point{X: 0, Y: 0}, mag: 0.0}, |
| 264 | {p1: Point{X: 3, Y: 4}, unit: Point{X: 0.6, Y: 0.8}, mag: 5.0}, |
| 265 | {p1: Point{X: -3, Y: -4}, unit: Point{X: -0.6, Y: -0.8}, mag: 5.0}, |
| 266 | } |
| 267 | for _, d := range data { |
| 268 | if actualUnit, actualMag := d.p1.Normalize(); !actualUnit.Equal(d.unit) || actualMag != d.mag { |
| 269 | t.Errorf("Test Point.Normalize failed. p1: %v, wanted: %v, %v, got: %v, %v", d.p1, d.unit, d.mag, actualUnit, actualMag) |
| 270 | } |
| 271 | } |
| 272 | } |
| 273 | |
| 274 | type testContainer struct { |
| 275 | bounds AABB |