Files
codegirl-games/engine/camera_test.odin
2026-08-02 23:50:37 -07:00

45 lines
1.1 KiB
Odin

package engine
import "core:testing"
@(test)
camera_default_values :: proc(t: ^testing.T) {
cam := camera_default()
testing.expect_value(t, cam.position, Vec2{0, 0})
testing.expect_value(t, cam.anchor, Vec2{0.5, 0.5})
}
@(test)
world_to_screen_centered_identity :: proc(t: ^testing.T) {
cam := Camera {
position = {400, 500},
anchor = {0.5, 0.5},
}
viewport := Vec2{800, 600}
screen := world_to_screen(cam, cam.position, viewport)
testing.expect_value(t, screen.x, f32(400))
testing.expect_value(t, screen.y, f32(300))
}
@(test)
world_to_screen_origin_cam :: proc(t: ^testing.T) {
cam := Camera {
position = {0, 0},
anchor = {0.5, 0.5},
}
screen := world_to_screen(cam, {10, 20}, {200, 100})
testing.expect_value(t, screen.x, f32(110))
testing.expect_value(t, screen.y, f32(70))
}
@(test)
world_to_screen_top_left_anchor :: proc(t: ^testing.T) {
cam := Camera {
position = {5, 7},
anchor = {0, 0},
}
screen := world_to_screen(cam, {15, 27}, {800, 600})
testing.expect_value(t, screen.x, f32(10))
testing.expect_value(t, screen.y, f32(20))
}