2013-08-08 20:34:27 -07:00
|
|
|
package govector
|
|
|
|
|
|
|
|
import (
|
2013-08-08 21:54:52 -07:00
|
|
|
"fmt"
|
2013-08-08 20:34:27 -07:00
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
2013-08-08 21:54:52 -07:00
|
|
|
func TestSubMag(t *testing.T) {
|
2013-08-08 20:36:15 -07:00
|
|
|
p1 := Point2d{10, 10}
|
2013-08-08 21:54:52 -07:00
|
|
|
p2 := Point2d{7, 6}
|
2013-08-08 20:34:27 -07:00
|
|
|
|
2013-08-08 23:08:22 -07:00
|
|
|
v := p1.Sub(p2)
|
2013-08-08 20:34:27 -07:00
|
|
|
|
2013-08-08 21:54:52 -07:00
|
|
|
if v != (Vector2d{3, 4}) {
|
2013-08-08 20:34:27 -07:00
|
|
|
t.Errorf("Sub Error")
|
|
|
|
}
|
|
|
|
|
2013-08-08 23:08:22 -07:00
|
|
|
m := v.Mag()
|
2013-08-08 20:34:27 -07:00
|
|
|
|
2013-08-08 21:54:52 -07:00
|
|
|
if m != 5 {
|
|
|
|
t.Errorf("Mag Error")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestScale(t *testing.T) {
|
|
|
|
v := Vector2d{3, 4}
|
2013-08-08 23:08:22 -07:00
|
|
|
m := v.Mag()
|
2013-08-08 20:34:27 -07:00
|
|
|
|
|
|
|
if m != 5 {
|
|
|
|
t.Errorf("Mag Error")
|
|
|
|
}
|
2013-08-08 21:54:52 -07:00
|
|
|
|
2013-08-08 23:08:22 -07:00
|
|
|
m2 := v.Scale(2)
|
2013-08-08 21:54:52 -07:00
|
|
|
|
|
|
|
fmt.Printf("%v\n", m2)
|
|
|
|
|
2013-08-08 23:08:22 -07:00
|
|
|
if m2.Mag() != 10 {
|
2013-08-08 21:54:52 -07:00
|
|
|
t.Errorf("Mag Error")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestAdd(t *testing.T) {
|
|
|
|
p := Point2d{10, 10}
|
|
|
|
v := Vector2d{3, 4}
|
2013-08-08 23:08:22 -07:00
|
|
|
m := p.Add(v)
|
2013-08-08 21:54:52 -07:00
|
|
|
|
|
|
|
fmt.Printf("%v\n", m)
|
|
|
|
|
|
|
|
if m.X != 13 && m.Y != 14 {
|
|
|
|
t.Errorf("Add Error")
|
|
|
|
}
|
2013-08-08 20:34:27 -07:00
|
|
|
}
|
2013-08-08 23:08:22 -07:00
|
|
|
|
|
|
|
func TestNormalize(t *testing.T) {
|
|
|
|
v := Vector2d{3, 4}
|
|
|
|
vn := v.Normalize()
|
|
|
|
|
|
|
|
if vn.Mag() != 1 {
|
|
|
|
t.Errorf("Normalize Error")
|
|
|
|
}
|
2013-08-08 23:14:18 -07:00
|
|
|
|
|
|
|
v0 := Vector2d{0, 0}
|
|
|
|
vn0 := v0.Normalize()
|
|
|
|
|
|
|
|
if vn0.Mag() != 0 {
|
|
|
|
t.Errorf("Normalize Error")
|
|
|
|
}
|
|
|
|
|
2013-08-08 23:08:22 -07:00
|
|
|
}
|