4 #include <dali/public-api/dali-core.h>
5 #include <dali-test-suite-utils.h>
10 void utc_dali_radian_startup(void)
12 test_return_value = TET_UNDEF;
15 void utc_dali_radian_cleanup(void)
17 test_return_value = TET_PASS;
21 // Positive test case for constructors
22 int UtcDaliRadianConstructors01(void)
24 // Default constructor, does not initialise the value
25 Radian radian0( 0.0f );
27 // Test float assignment operator
29 DALI_TEST_EQUALS( float(radian0), Math::PI, 0.001f, TEST_LOCATION );
31 // Constructor from float value
32 Radian radian1( Math::PI );
33 DALI_TEST_EQUALS( float(radian1), Math::PI, 0.001f, TEST_LOCATION );
35 // Constructor from a Degree
36 Radian radian2( Degree( 180.0f ) );
37 DALI_TEST_EQUALS( float(radian2), Math::PI, 0.001f, TEST_LOCATION );
39 // Assignment from Degree
40 Radian radian3( 0.0f );
41 radian3 = Degree( 180.0f );
42 DALI_TEST_EQUALS( float(radian3), Math::PI, 0.001f, TEST_LOCATION );
46 // Positive test case for comparison
47 int UtcDaliRadianComparison01(void)
49 // Comparison between radians
50 Radian radian0( Math::PI_2 );
51 Radian radian1( Math::PI_2 );
52 Radian radian2( Math::PI );
54 DALI_TEST_CHECK( radian0 == radian1 );
55 DALI_TEST_CHECK( radian0 != radian2 );
57 // Comparison between radian to degree
58 Radian radian3( Math::PI );
59 Radian radian4( Math::PI_2 );
60 Degree degree0( 180.0f );
62 DALI_TEST_CHECK( radian3 == Radian(degree0) );
63 DALI_TEST_CHECK( radian4 != Radian(degree0) );
65 // Comparison with float
66 Radian radian5( Math::PI_2 );
68 DALI_TEST_CHECK( radian5 == Math::PI_2 );
69 DALI_TEST_CHECK( radian5 != Math::PI );
75 // test case for cast operators
76 int UtcDaliRadianCastOperators01(void)
78 Radian radian0( Math::PI );
80 const float& value0( radian0.radian );
81 DALI_TEST_EQUALS( value0, Math::PI, 0.001f, TEST_LOCATION );
84 DALI_TEST_EQUALS( value0, Math::PI_2, 0.001f, TEST_LOCATION );
86 float value1( radian0 );
87 DALI_TEST_EQUALS( value1, Math::PI_2, 0.001f, TEST_LOCATION );
90 DALI_TEST_EQUALS( float(radian0), Math::PI, 0.001f, TEST_LOCATION );
95 int UtcDaliRadianCastOperatorEquals(void)
101 DALI_TEST_EQUALS( a == a, true, TEST_LOCATION );
102 DALI_TEST_EQUALS( a == b, true, TEST_LOCATION );
103 DALI_TEST_EQUALS( a == c, false, TEST_LOCATION );
104 DALI_TEST_EQUALS( Degree(c) == c, true, TEST_LOCATION );
108 int UtcDaliRadianCastOperatorNotEquals(void)
110 Radian a(Math::PI_2);
111 Radian b(Math::PI_2);
114 DALI_TEST_EQUALS( a != a, false, TEST_LOCATION );
115 DALI_TEST_EQUALS( a != b, false, TEST_LOCATION );
116 DALI_TEST_EQUALS( a != c, true, TEST_LOCATION );
117 DALI_TEST_EQUALS( Degree(a) != c, true, TEST_LOCATION );
121 int UtcDaliRadianCastOperatorLessThan(void)
123 Radian a(Math::PI_4);
124 Radian b(Math::PI_2);
126 Radian d(2.0f*Math::PI);
129 DALI_TEST_EQUALS(a < a, false, TEST_LOCATION);
130 DALI_TEST_EQUALS(a < b, true, TEST_LOCATION);
131 DALI_TEST_EQUALS(a < c, true, TEST_LOCATION);
132 DALI_TEST_EQUALS(a < d, true, TEST_LOCATION);
133 DALI_TEST_EQUALS(a < e, false, TEST_LOCATION);
135 DALI_TEST_EQUALS(b < a, false, TEST_LOCATION);
136 DALI_TEST_EQUALS(b < b, false, TEST_LOCATION);
137 DALI_TEST_EQUALS(c < b, false, TEST_LOCATION);
138 DALI_TEST_EQUALS(d < b, false, TEST_LOCATION);
139 DALI_TEST_EQUALS(e < b, true, TEST_LOCATION);
141 DALI_TEST_EQUALS( Radian(Math::PI_2) < Degree(180.0f), true, TEST_LOCATION);
142 DALI_TEST_EQUALS( Radian(Math::PI_2) < Degree(90.0f), false, TEST_LOCATION);
143 DALI_TEST_EQUALS( Radian(Math::PI_2) > Degree(45.0f), true, TEST_LOCATION);
145 DALI_TEST_EQUALS( Degree(180.0f) > Radian(Math::PI_2), true, TEST_LOCATION);
146 DALI_TEST_EQUALS( Degree(90.0f) > Radian(Math::PI_2), false, TEST_LOCATION);
147 DALI_TEST_EQUALS( Degree(45.0f) < Radian(Math::PI_2), true, TEST_LOCATION);