package sim import "testing" func TestCameraCentersOnTarget(t *testing.T) { c := NewCamera(320, 180, 1000, 1000) c.Follow(500, 500) if c.X != 340 || c.Y != 410 { t.Fatalf("X,Y=%v,%v", c.X, c.Y) } ox, oy := c.Offset() if ox != -340 || oy != -410 { t.Fatalf("offset=%v,%v", ox, oy) } } func TestCameraClampsToWorldEdges(t *testing.T) { c := NewCamera(320, 180, 1000, 600) c.Follow(10, 10) if c.X != 0 || c.Y != 0 { t.Fatalf("övre vänstra: X,Y=%v,%v", c.X, c.Y) } c.Follow(5000, 5000) if c.X != 1000-320 || c.Y != 600-180 { t.Fatalf("nedre högra: X,Y=%v,%v", c.X, c.Y) } } func TestCameraCentersSmallWorld(t *testing.T) { c := NewCamera(320, 180, 160, 96) c.Follow(0, 0) // spelar ingen roll var man är if c.X != -80 || c.Y != -42 { t.Fatalf("X,Y=%v,%v, vill ha -80,-42", c.X, c.Y) } // Blandat: bred värld, låg värld -> klampa i x, centrera i y. c = NewCamera(320, 180, 640, 96) c.Follow(700, 0) if c.X != 320 || c.Y != -42 { t.Fatalf("X,Y=%v,%v", c.X, c.Y) } }