Skip to content

Commit f41b06f

Browse files
committed
🚨 Add tests related to CRP and MRP for the Julia API
1 parent 403c2c2 commit f41b06f

1 file changed

Lines changed: 80 additions & 0 deletions

File tree

test/conversions/api.jl

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,22 @@
3535
D_api = convert(DCM, q)
3636
@test D_api === D_exp
3737
@test eltype(D_api) === T
38+
39+
# == Classical Rodrigues Parameters (CRP) ==========================================
40+
41+
c = rand(CRP{T})
42+
D_exp = crp_to_dcm(c)
43+
D_api = convert(DCM, c)
44+
@test D_api === D_exp
45+
@test eltype(D_api) === T
46+
47+
# == Modified Rodrigues Parameters (MRP) ===========================================
48+
49+
m = rand(MRP{T})
50+
D_exp = mrp_to_dcm(m)
51+
D_api = convert(DCM, m)
52+
@test D_api === D_exp
53+
@test eltype(D_api) === T
3854
end
3955
end
4056

@@ -65,6 +81,22 @@ end
6581
av_api = convert(EulerAngleAxis, q)
6682
@test av_exp === av_api
6783
@test eltype(av_api) === T
84+
85+
# == Classical Rodrigues Parameters (CRP) ==========================================
86+
87+
c = rand(CRP{T})
88+
av_exp = crp_to_angleaxis(c)
89+
av_api = convert(EulerAngleAxis, c)
90+
@test av_exp === av_api
91+
@test eltype(av_api) === T
92+
93+
# == Modified Rodrigues Parameters (MRP) ===========================================
94+
95+
m = rand(MRP{T})
96+
av_exp = mrp_to_angleaxis(m)
97+
av_api = convert(EulerAngleAxis, m)
98+
@test av_exp === av_api
99+
@test eltype(av_api) === T
68100
end
69101
end
70102

@@ -104,6 +136,22 @@ end
104136
ea_api = convert(EulerAngles(rot_seq), q)
105137
@test ea_exp === ea_api
106138
@test eltype(ea_api) === T
139+
140+
# == Classical Rodrigues Parameters (CRP) ======================================
141+
142+
c = rand(CRP{T})
143+
ea_exp = crp_to_angle(c, rot_seq)
144+
ea_api = convert(EulerAngles(rot_seq), c)
145+
@test ea_exp === ea_api
146+
@test eltype(ea_api) === T
147+
148+
# == Modified Rodrigues Parameters (MRP) =======================================
149+
150+
m = rand(MRP{T})
151+
ea_exp = mrp_to_angle(m, rot_seq)
152+
ea_api = convert(EulerAngles(rot_seq), m)
153+
@test ea_exp === ea_api
154+
@test eltype(ea_api) === T
107155
end
108156
end
109157

@@ -145,6 +193,22 @@ end
145193
ea_api = convert(EulerAngles, q)
146194
@test ea_exp === ea_api
147195
@test eltype(ea_api) === T
196+
197+
# == Classical Rodrigues Parameters (CRP) ==========================================
198+
199+
c = rand(CRP{T})
200+
ea_exp = crp_to_angle(c)
201+
ea_api = convert(EulerAngles, c)
202+
@test ea_exp === ea_api
203+
@test eltype(ea_api) === T
204+
205+
# == Modified Rodrigues Parameters (MRP) ===========================================
206+
207+
m = rand(MRP{T})
208+
ea_exp = mrp_to_angle(m)
209+
ea_api = convert(EulerAngles, m)
210+
@test ea_exp === ea_api
211+
@test eltype(ea_api) === T
148212
end
149213
end
150214

@@ -176,5 +240,21 @@ end
176240
q_api = convert(Quaternion, D)
177241
@test q_api === q_exp
178242
@test eltype(q_api) === T
243+
244+
# == Classical Rodrigues Parameters (CRP) ==========================================
245+
246+
c = rand(CRP{T})
247+
q_exp = crp_to_quat(c)
248+
q_api = convert(Quaternion, c)
249+
@test q_api === q_exp
250+
@test eltype(q_api) === T
251+
252+
# == Modified Rodrigues Parameters (MRP) ===========================================
253+
254+
m = rand(MRP{T})
255+
q_exp = mrp_to_quat(m)
256+
q_api = convert(Quaternion, m)
257+
@test q_api === q_exp
258+
@test eltype(q_api) === T
179259
end
180260
end

0 commit comments

Comments
 (0)