Skip to content

Commit

Permalink
Add tests to make sure all projections work
Browse files Browse the repository at this point in the history
  • Loading branch information
asinghvi17 committed May 30, 2024
1 parent 99f7299 commit ba3a5ac
Showing 1 changed file with 31 additions and 2 deletions.
33 changes: 31 additions & 2 deletions test/projection_math.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,33 @@
using Makie

@testset "Projection math" begin
@test eltype(Makie.rotationmatrix_x(1)) == Float64
@test eltype(Makie.rotationmatrix_x(1f0)) == Float32
@testset "Rotation matrix" begin
@test eltype(Makie.rotationmatrix_x(1)) == Float64
@test eltype(Makie.rotationmatrix_x(1f0)) == Float32
end
@testset "Projection between spaces in 3D" begin
# Set up an LScene and some points there
sc = Scene(size = (650, 400), camera = cam3d!)
corner_points_px = [Point3f(0, 0, 0), Point3f(650, 400, 0)]

@testset "Clip space and pixel space equivalence" begin
far_bottom_left_clip = Point3f(-1)
near_top_right_clip = Point3f(1)

fbl_px = Makie.project(sc, :clip, :pixel, far_bottom_left_clip)
ntr_px = Makie.project(sc, :clip, :pixel, near_top_right_clip)
@test Point2f(fbl_px) == Point2f(0, 0)
@test Point2f(ntr_px) == Point2f(650, 400)
end

@testset "No warnings in projections between spaces" begin
for (source, dest) in unique(Iterators.product(Makie.spaces(), Makie.spaces()))
source == dest && continue
current_space_points = Makie.project.(sc, :pixel, source, corner_points_px)
@testset "$source$dest" begin
@test_nowarn Makie.project.(sc, source, dest, current_space_points)
end
end
end
end
end

0 comments on commit ba3a5ac

Please sign in to comment.