@@ -135,7 +135,7 @@ public class Test_RangeSelector : VisualUITestBase
135135 // Else
136136 // RangeEnd will be Maximum
137137
138- // Input:Sf Min Max Start End Expected:Sf Min Max Start End
138+ // Input:Sf Min Start End Max Expected:Sf Min Start End Max
139139 [ DataRow ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0.01 , DisplayName = "Minimum == Maximum, Minimum == RangeStart == RangeEnd == Maximum" ) ]
140140 [ DataRow ( 1 , 0 , 0 , 10 , 0 , 1 , 0 , 0 , 0.01 , 0.01 , DisplayName = "Minimum == Maximum, Minimum == RangeStart < RangeEnd > Maximum" ) ]
141141 [ DataRow ( 1 , 0 , 0 , - 10 , 0 , 1 , 0 , 0 , 0 , 0.01 , DisplayName = "Minimum == Maximum, Minimum == RangeStart > RangeEnd < Maximum" ) ]
@@ -187,6 +187,81 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
187187 } ) ;
188188 }
189189
190+ [ TestMethod ]
191+ [ TestCategory ( "Set Prop" ) ]
192+ #pragma warning disable SA1008 , SA1025
193+
194+ // Input:Sf Min Max Start End TargetProp Target Value Expected:Sf Min Max Start End
195+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Minimum" , 0 , 1 , 0 , 10 , 90 , 100 ) ]
196+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Minimum" , - 10 , 1 , - 10 , 10 , 90 , 100 ) ]
197+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Minimum" , 10 , 1 , 10 , 10 , 90 , 100 ) ]
198+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Minimum" , 50 , 1 , 50 , 50 , 90 , 100 ) ]
199+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Minimum" , 90 , 1 , 90 , 90 , 90 , 100 ) ]
200+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Minimum" , 100 , 1 , 100 , 100 , 100 , 100 ) ]
201+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Minimum" , 110 , 1 , 110 , 110.01 , 110.01 , 110.01 ) ]
202+
203+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Maximum" , 100 , 1 , 0 , 10 , 90 , 100 ) ]
204+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Maximum" , 110 , 1 , 0 , 10 , 90 , 110 ) ]
205+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Maximum" , 90 , 1 , 0 , 10 , 90 , 90 ) ]
206+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Maximum" , 50 , 1 , 0 , 10 , 50 , 50 ) ]
207+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Maximum" , 10 , 1 , 0 , 10 , 10 , 10 ) ]
208+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Maximum" , 0 , 1 , 0 , 0 , 0 , 0 ) ]
209+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "Maximum" , - 10 , 1 , - 10.01 , - 10 , - 10 , - 10 ) ]
210+
211+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeStart" , 10 , 1 , 0 , 10 , 90 , 100 ) ]
212+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeStart" , 5 , 1 , 0 , 5 , 90 , 100 ) ]
213+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeStart" , 0 , 1 , 0 , 0 , 90 , 100 ) ]
214+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeStart" , - 10 , 1 , 0 , 0 , 90 , 100 ) ]
215+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeStart" , 90 , 1 , 0 , 90 , 90 , 100 ) ]
216+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeStart" , 95 , 1 , 0 , 95 , 95 , 100 ) ]
217+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeStart" , 100 , 1 , 0 , 100 , 100 , 100 ) ]
218+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeStart" , 110 , 1 , 0 , 100 , 100 , 100 ) ]
219+
220+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeEnd" , 90 , 1 , 0 , 10 , 90 , 100 ) ]
221+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeEnd" , 95 , 1 , 0 , 10 , 95 , 100 ) ]
222+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeEnd" , 100 , 1 , 0 , 10 , 100 , 100 ) ]
223+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeEnd" , 110 , 1 , 0 , 10 , 100 , 100 ) ]
224+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeEnd" , 10 , 1 , 0 , 10 , 10 , 100 ) ]
225+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeEnd" , 5 , 1 , 0 , 5 , 5 , 100 ) ]
226+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeEnd" , 0 , 1 , 0 , 0 , 0 , 100 ) ]
227+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , "RangeEnd" , - 10 , 1 , 0 , 0 , 0 , 100 ) ]
228+ #pragma warning restore SA1025 , SA1008
229+ public async Task SetProp ( double stepFrequency , double minimum , double rangeStart , double rangeEnd , double maximum , string targetProp , double propInput , double expectedStepFrequency , double expectedMinimum , double expectedRangeStart , double expectedRangeEnd , double expectedMaximum )
230+ {
231+ await App . DispatcherQueue . EnqueueAsync ( async ( ) =>
232+ {
233+ var inital = new TestRecord ( stepFrequency , minimum , rangeStart , rangeEnd , maximum ) ;
234+ var r = BuildRangeSelecor ( inital ) ;
235+
236+ await SetTestContentAsync ( r ) ;
237+
238+ Assert . AreEqual ( inital , BuildTestRecord ( r ) ) ;
239+
240+ switch ( targetProp )
241+ {
242+ case "Minimum" :
243+ r . Minimum = propInput ;
244+ break ;
245+ case "RangeStart" :
246+ r . RangeStart = propInput ;
247+ break ;
248+ case "RangeEnd" :
249+ r . RangeEnd = propInput ;
250+ break ;
251+ case "Maximum" :
252+ r . Maximum = propInput ;
253+ break ;
254+ default :
255+ Assert . Fail ( "Invalid param {0}" , targetProp ) ;
256+ break ;
257+ }
258+
259+ var expected = new TestRecord ( expectedStepFrequency , expectedMinimum , expectedRangeStart , expectedRangeEnd , expectedMaximum ) ;
260+
261+ Assert . AreEqual ( expected , BuildTestRecord ( r ) ) ;
262+ } ) ;
263+ }
264+
190265 public record TestRecord ( double StepFrequency , double Minimum , double RangeStart , double RangeEnd , double Maximum ) ;
191266
192267 public static RangeSelector BuildRangeSelecor ( TestRecord input )
0 commit comments