@@ -129,95 +129,93 @@ TEST_F(TestClosureDimensionClusterLogic, TestConformanceValid)
129129 EXPECT_TRUE (conformance.Valid ());
130130 conformance.FeatureMap ().ClearAll ();
131131
132- // Validating If Unit, Limitation or speed is enabled, Positioning must be enabled. Return false otherwise.
132+ }
133133
134- // Speed is enabled, Positioning is not enabled. Return false.
135- conformance.FeatureMap ().Set (Feature::kSpeed );
134+ EST_F (TestClosureDimensionClusterLogic, TestConformanceValid_UnitWithoutPositioningInvalid)
135+ {
136+ conformance.FeatureMap ().ClearAll ();
137+ conformance.FeatureMap ().Set (Feature::kUnit );
136138 EXPECT_FALSE (conformance.Valid ());
139+
137140 conformance.FeatureMap ().ClearAll ();
141+ conformance.FeatureMap ().Set (Feature::kUnit ).Set (Feature::kPositioning );
142+ EXPECT_TRUE (conformance.Valid ());
143+ }
138144
139- // Limitation is enabled, Positioning is not enabled. Return false.
145+ TEST_F (TestClosureDimensionClusterLogic, TestConformanceValid_LimitationWithoutPositioningInvalid)
146+ {
147+ conformance.FeatureMap ().ClearAll ();
140148 conformance.FeatureMap ().Set (Feature::kLimitation );
141149 EXPECT_FALSE (conformance.Valid ());
142- conformance.FeatureMap ().ClearAll ();
143150
144- // Unit is enabled, Positioning is not enabled. Return false.
145- conformance.FeatureMap ().Set (Feature::kUnit );
146- EXPECT_FALSE (conformance.Valid ());
147151 conformance.FeatureMap ().ClearAll ();
148-
149- // Speed is enabled, Positioning is also enabled. Return true.
150- conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kSpeed );
152+ conformance.FeatureMap ().Set (Feature::kLimitation ).Set (Feature::kPositioning );
151153 EXPECT_TRUE (conformance.Valid ());
152- conformance. FeatureMap (). ClearAll ();
154+ }
153155
154- // Limitation is enabled, Positioning is also enabled. Return true.
155- conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kLimitation );
156- EXPECT_TRUE (conformance.Valid ());
156+ TEST_F (TestClosureDimensionClusterLogic, TestConformanceValid_SpeedWithoutPositioningInvalid)
157+ {
157158 conformance.FeatureMap ().ClearAll ();
159+ conformance.FeatureMap ().Set (Feature::kSpeed );
160+ EXPECT_FALSE (conformance.Valid ());
158161
159- // Unit is enabled, Positioning is also enabled. Return true.
160- conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kUnit );
161- EXPECT_TRUE (conformance.Valid ());
162162 conformance.FeatureMap ().ClearAll ();
163+ conformance.FeatureMap ().Set (Feature::kSpeed ).Set (Feature::kPositioning );
164+ EXPECT_TRUE (conformance.Valid ());
165+ }
163166
164- // Validating If Translation, Rotation or Modulation is enabled, Positioning must be enabled. Return false otherwise.
165-
166- // Translation is enabled, Positioning is not enabled. Return false
167+ EST_F (TestClosureDimensionClusterLogic, TestConformanceValid_MovementFeatureWithoutPositioningInvalid)
168+ {
169+ // Translation alone invalid
170+ conformance.FeatureMap ().ClearAll ();
167171 conformance.FeatureMap ().Set (Feature::kTranslation );
168172 EXPECT_FALSE (conformance.Valid ());
169- conformance.FeatureMap ().ClearAll ();
170173
171- // Rotation is enabled, Positioning is not enabled. Return false
174+ // Rotation alone invalid
175+ conformance.FeatureMap ().ClearAll ();
172176 conformance.FeatureMap ().Set (Feature::kRotation );
173177 EXPECT_FALSE (conformance.Valid ());
174- conformance.FeatureMap ().ClearAll ();
175178
176- // Modulation is enabled, Positioning is not enabled. Return false
179+ // Modulation alone invalid
180+ conformance.FeatureMap ().ClearAll ();
177181 conformance.FeatureMap ().Set (Feature::kModulation );
178182 EXPECT_FALSE (conformance.Valid ());
179- conformance. FeatureMap (). ClearAll ();
183+ }
180184
181- // Translation is enabled, Positioning is enabled. Return true
182- conformance. FeatureMap (). Set (Feature:: kPositioning ). Set (Feature:: kTranslation );
183- EXPECT_TRUE (conformance. Valid ());
185+ TEST_F (TestClosureDimensionClusterLogic, TestConformanceValid_MultipleMovementFeaturesInvalid)
186+ {
187+ // Positioning plus Translation + Rotation -> invalid
184188 conformance.FeatureMap ().ClearAll ();
189+ conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kTranslation ).Set (Feature::kRotation );
190+ EXPECT_FALSE (conformance.Valid ());
185191
186- // Rotation is enabled, Positioning is enabled. Return true
187- conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kRotation );
188- EXPECT_TRUE (conformance.Valid ());
192+ // Positioning plus Rotation + Modulation -> invalid
189193 conformance.FeatureMap ().ClearAll ();
194+ conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kRotation ).Set (Feature::kModulation );
195+ EXPECT_FALSE (conformance.Valid ());
190196
191- // Modulation is enabled, Positioning is enabled. Return true
192- conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kModulation );
193- EXPECT_TRUE (conformance.Valid ());
197+ // Positioning plus Modulation + Translation -> invalid
194198 conformance.FeatureMap ().ClearAll ();
195-
196- // Validating Only one of Translation, Rotation or Modulation must be enabled. Return false otherwise.
197-
198- // If Positioning is enabled, all 3 Translation, Rotation and Modulation are enabled. Return false
199- conformance.FeatureMap ()
200- .Set (Feature::kPositioning )
201- .Set (Feature::kTranslation )
202- .Set (Feature::kRotation )
203- .Set (Feature::kModulation );
199+ conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kModulation ).Set (Feature::kTranslation );
204200 EXPECT_FALSE (conformance.Valid ());
205- conformance. FeatureMap (). ClearAll ();
201+ }
206202
207- // If Positioning is enabled, both Rotation and Modulation are enabled. Return false
208- conformance. FeatureMap (). Set (Feature:: kPositioning ). Set (Feature:: kRotation ). Set (Feature:: kModulation );
209- EXPECT_FALSE (conformance. Valid ());
203+ EST_F (TestClosureDimensionClusterLogic, TestConformanceValid_PositioningWithSingleMovementFeatureValid)
204+ {
205+ // Positioning + Translation
210206 conformance.FeatureMap ().ClearAll ();
207+ conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kTranslation );
208+ EXPECT_TRUE (conformance.Valid ());
211209
212- // If Positioning is enabled, both Translation and Rotation are enabled. Return false
213- conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kTranslation ).Set (Feature::kRotation );
214- EXPECT_FALSE (conformance.Valid ());
210+ // Positioning + Rotation
215211 conformance.FeatureMap ().ClearAll ();
212+ conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kRotation );
213+ EXPECT_TRUE (conformance.Valid ());
216214
217- // If Positioning is enabled, both Translation and Modulation are enabled. Return false
218- conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kTranslation ).Set (Feature::kModulation );
219- EXPECT_FALSE (conformance.Valid ());
215+ // Positioning + Modulation
220216 conformance.FeatureMap ().ClearAll ();
217+ conformance.FeatureMap ().Set (Feature::kPositioning ).Set (Feature::kModulation );
218+ EXPECT_TRUE (conformance.Valid ());
221219}
222220
223221// This test ensures the Init function with proper parameters should pass and reintilization should fail.
0 commit comments