@@ -189,74 +189,95 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
189189
190190 [ TestMethod ]
191191 [ TestCategory ( "Set Prop" ) ]
192+
193+ // Given:Sf Min Max Start End Set:Minimum Then:Sf Min Max Start End
192194#pragma warning disable SA1008 , SA1025
195+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 0 , 1 , 0 , 10 , 90 , 100 ) ]
196+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , - 10 , 1 , - 10 , 10 , 90 , 100 ) ]
197+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 10 , 1 , 10 , 10 , 90 , 100 ) ]
198+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 50 , 1 , 50 , 50 , 90 , 100 ) ]
199+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 90 , 1 , 90 , 90 , 90 , 100 ) ]
200+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 100 , 1 , 100 , 100 , 100 , 100 ) ]
201+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 110 , 1 , 110 , 110.01 , 110.01 , 110.01 ) ]
202+ public Task SetMinimum ( double stepFrequency , double minimum , double rangeStart , double rangeEnd , double maximum , double setMinimumValue , double expectedStepFrequency , double expectedMinimum , double expectedRangeStart , double expectedRangeEnd , double expectedMaximum )
203+ => SetProp ( stepFrequency , minimum , rangeStart , rangeEnd , maximum , Property . Minimum , setMinimumValue , expectedStepFrequency , expectedMinimum , expectedRangeStart , expectedRangeEnd , expectedMaximum ) ;
204+
205+ [ TestMethod ]
206+ [ TestCategory ( "Set Prop" ) ]
207+
208+ // Given:Sf Min Max Start End Set:Maximum Then:Sf Min Max Start End
209+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 100 , 1 , 0 , 10 , 90 , 100 ) ]
210+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 110 , 1 , 0 , 10 , 90 , 110 ) ]
211+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 90 , 1 , 0 , 10 , 90 , 90 ) ]
212+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 50 , 1 , 0 , 10 , 50 , 50 ) ]
213+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 10 , 1 , 0 , 10 , 10 , 10 ) ]
214+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 0 , 1 , 0 , 0 , 0 , 0 ) ]
215+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , - 10 , 1 , - 10.01 , - 10 , - 10 , - 10 ) ]
216+ public Task SetMaximum ( double stepFrequency , double minimum , double rangeStart , double rangeEnd , double maximum , double propInput , double expectedStepFrequency , double expectedMinimum , double expectedRangeStart , double expectedRangeEnd , double expectedMaximum )
217+ => SetProp ( stepFrequency , minimum , rangeStart , rangeEnd , maximum , Property . Maximum , propInput , expectedStepFrequency , expectedMinimum , expectedRangeStart , expectedRangeEnd , expectedMaximum ) ;
193218
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-
229- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 10 , 5 , 0 , 10 , 90 , 100 ) ]
230- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 5 , 5 , 0 , 5 , 90 , 100 ) ]
231- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 0 , 5 , 0 , 0 , 90 , 100 ) ]
232- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 1 , 5 , 0 , 0 , 90 , 100 ) ]
233- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 2.4 , 5 , 0 , 0 , 90 , 100 ) ]
234- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 2.5 , 5 , 0 , 0 , 90 , 100 ) ]
235- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 2.6 , 5 , 0 , 5 , 90 , 100 ) ]
236- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 4 , 5 , 0 , 5 , 90 , 100 ) ]
237- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 6 , 5 , 0 , 5 , 90 , 100 ) ]
238- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 9 , 5 , 0 , 10 , 90 , 100 ) ]
239- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 100 , 5 , 0 , 100 , 100 , 100 ) ]
240- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 89 , 5 , 0 , 90 , 90 , 100 ) ]
241- [ DataRow ( 5 , 0 , 10 , 90 , 100 , "RangeStart" , 91 , 5 , 0 , 90 , 90 , 100 ) ]
242-
243- [ DataRow ( 30 , 0 , 60 , 70 , 100 , "RangeStart" , 80 , 30 , 0 , 100 , 100 , 100 ) ]
244- [ DataRow ( 30 , 0 , 60 , 70 , 100 , "RangeStart" , 74 , 30 , 0 , 60 , 60 , 100 ) ]
245- [ DataRow ( 30 , 0 , 60 , 70 , 100 , "RangeStart" , 75 , 30 , 0 , 60 , 60 , 100 ) ]
246- [ DataRow ( 30 , 0 , 60 , 70 , 100 , "RangeStart" , 76 , 30 , 0 , 100 , 100 , 100 ) ]
247- [ DataRow ( 40 , 0 , 40 , 60 , 100 , "RangeStart" , 20 , 40 , 0 , 0 , 60 , 100 ) ]
248- [ DataRow ( 40 , 0 , 40 , 60 , 100 , "RangeStart" , 50 , 40 , 0 , 40 , 60 , 100 ) ]
249- [ DataRow ( 40 , 0 , 40 , 60 , 100 , "RangeStart" , 60 , 40 , 0 , 100 , 100 , 100 ) ]
250-
251- [ DataRow ( 30 , 0 , 60 , 70 , 100 , "RangeEnd" , 50 , 30 , 0 , 60 , 60 , 100 ) ]
252- [ DataRow ( 30 , 0 , 60 , 70 , 100 , "RangeEnd" , 36 , 30 , 0 , 30 , 30 , 100 ) ]
253- [ DataRow ( 30 , 0 , 60 , 70 , 100 , "RangeEnd" , 35 , 30 , 0 , 30 , 30 , 100 ) ]
254- [ DataRow ( 30 , 0 , 60 , 70 , 100 , "RangeEnd" , 34 , 30 , 0 , 30 , 30 , 100 ) ]
255- [ DataRow ( 40 , 0 , 40 , 60 , 100 , "RangeEnd" , 80 , 40 , 0 , 40 , 100 , 100 ) ]
256- [ DataRow ( 40 , 0 , 40 , 60 , 100 , "RangeEnd" , 30 , 40 , 0 , 40 , 40 , 100 ) ]
257- [ DataRow ( 40 , 0 , 40 , 60 , 100 , "RangeEnd" , 0 , 40 , 0 , 0 , 0 , 100 ) ]
219+ [ TestMethod ]
220+ [ TestCategory ( "Set Prop" ) ]
221+
222+ // Given:Sf Min Max Start End Set:RangeStart Then:Sf Min Max Start End
223+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 10 , 1 , 0 , 10 , 90 , 100 ) ]
224+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 5 , 1 , 0 , 5 , 90 , 100 ) ]
225+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 0 , 1 , 0 , 0 , 90 , 100 ) ]
226+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , - 10 , 1 , 0 , 0 , 90 , 100 ) ]
227+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 90 , 1 , 0 , 90 , 90 , 100 ) ]
228+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 95 , 1 , 0 , 95 , 95 , 100 ) ]
229+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 100 , 1 , 0 , 100 , 100 , 100 ) ]
230+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 110 , 1 , 0 , 100 , 100 , 100 ) ]
231+
232+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 10 , 5 , 0 , 10 , 90 , 100 ) ]
233+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 5 , 5 , 0 , 5 , 90 , 100 ) ]
234+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 0 , 5 , 0 , 0 , 90 , 100 ) ]
235+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 1 , 5 , 0 , 0 , 90 , 100 ) ]
236+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 2.4 , 5 , 0 , 0 , 90 , 100 ) ]
237+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 2.5 , 5 , 0 , 0 , 90 , 100 ) ]
238+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 2.6 , 5 , 0 , 5 , 90 , 100 ) ]
239+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 4 , 5 , 0 , 5 , 90 , 100 ) ]
240+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 6 , 5 , 0 , 5 , 90 , 100 ) ]
241+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 9 , 5 , 0 , 10 , 90 , 100 ) ]
242+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 100 , 5 , 0 , 100 , 100 , 100 ) ]
243+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 89 , 5 , 0 , 90 , 90 , 100 ) ]
244+ [ DataRow ( 5 , 0 , 10 , 90 , 100 , 91 , 5 , 0 , 90 , 90 , 100 ) ]
245+
246+ [ DataRow ( 30 , 0 , 60 , 70 , 100 , 80 , 30 , 0 , 100 , 100 , 100 ) ]
247+ [ DataRow ( 30 , 0 , 60 , 70 , 100 , 74 , 30 , 0 , 60 , 60 , 100 ) ]
248+ [ DataRow ( 30 , 0 , 60 , 70 , 100 , 75 , 30 , 0 , 60 , 60 , 100 ) ]
249+ [ DataRow ( 30 , 0 , 60 , 70 , 100 , 76 , 30 , 0 , 100 , 100 , 100 ) ]
250+ [ DataRow ( 40 , 0 , 40 , 60 , 100 , 20 , 40 , 0 , 0 , 60 , 100 ) ]
251+ [ DataRow ( 40 , 0 , 40 , 60 , 100 , 50 , 40 , 0 , 40 , 60 , 100 ) ]
252+ [ DataRow ( 40 , 0 , 40 , 60 , 100 , 60 , 40 , 0 , 100 , 100 , 100 ) ]
253+ public Task SetRangeStart ( double stepFrequency , double minimum , double rangeStart , double rangeEnd , double maximum , double propInput , double expectedStepFrequency , double expectedMinimum , double expectedRangeStart , double expectedRangeEnd , double expectedMaximum )
254+ => SetProp ( stepFrequency , minimum , rangeStart , rangeEnd , maximum , Property . RangeStart , propInput , expectedStepFrequency , expectedMinimum , expectedRangeStart , expectedRangeEnd , expectedMaximum ) ;
255+
256+ [ TestMethod ]
257+ [ TestCategory ( "Set Prop" ) ]
258+
259+ // Given:Sf Min Max Start End Set:RangeEnd Then:Sf Min Max Start End
260+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 90 , 1 , 0 , 10 , 90 , 100 ) ]
261+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 95 , 1 , 0 , 10 , 95 , 100 ) ]
262+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 100 , 1 , 0 , 10 , 100 , 100 ) ]
263+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 110 , 1 , 0 , 10 , 100 , 100 ) ]
264+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 10 , 1 , 0 , 10 , 10 , 100 ) ]
265+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 5 , 1 , 0 , 5 , 5 , 100 ) ]
266+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , 0 , 1 , 0 , 0 , 0 , 100 ) ]
267+ [ DataRow ( 1 , 0 , 10 , 90 , 100 , - 10 , 1 , 0 , 0 , 0 , 100 ) ]
268+
269+ [ DataRow ( 30 , 0 , 60 , 70 , 100 , 50 , 30 , 0 , 60 , 60 , 100 ) ]
270+ [ DataRow ( 30 , 0 , 60 , 70 , 100 , 36 , 30 , 0 , 30 , 30 , 100 ) ]
271+ [ DataRow ( 30 , 0 , 60 , 70 , 100 , 35 , 30 , 0 , 30 , 30 , 100 ) ]
272+ [ DataRow ( 30 , 0 , 60 , 70 , 100 , 34 , 30 , 0 , 30 , 30 , 100 ) ]
273+ [ DataRow ( 40 , 0 , 40 , 60 , 100 , 80 , 40 , 0 , 40 , 100 , 100 ) ]
274+ [ DataRow ( 40 , 0 , 40 , 60 , 100 , 30 , 40 , 0 , 40 , 40 , 100 ) ]
275+ [ DataRow ( 40 , 0 , 40 , 60 , 100 , 0 , 40 , 0 , 0 , 0 , 100 ) ]
258276#pragma warning restore SA1025 , SA1008
259- 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 )
277+ public Task SetRangeEnd ( double stepFrequency , double minimum , double rangeStart , double rangeEnd , double maximum , double propInput , double expectedStepFrequency , double expectedMinimum , double expectedRangeStart , double expectedRangeEnd , double expectedMaximum )
278+ => SetProp ( stepFrequency , minimum , rangeStart , rangeEnd , maximum , Property . RangeEnd , propInput , expectedStepFrequency , expectedMinimum , expectedRangeStart , expectedRangeEnd , expectedMaximum ) ;
279+
280+ public async Task SetProp ( double stepFrequency , double minimum , double rangeStart , double rangeEnd , double maximum , Property targetProp , double propInput , double expectedStepFrequency , double expectedMinimum , double expectedRangeStart , double expectedRangeEnd , double expectedMaximum )
260281 {
261282 await App . DispatcherQueue . EnqueueAsync ( async ( ) =>
262283 {
@@ -269,17 +290,20 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
269290
270291 switch ( targetProp )
271292 {
272- case " Minimum" :
293+ case Property . Minimum :
273294 r . Minimum = propInput ;
274295 break ;
275- case "RangeStart" :
296+ case Property . Maximum :
297+ r . Maximum = propInput ;
298+ break ;
299+ case Property . RangeStart :
276300 r . RangeStart = propInput ;
277301 break ;
278- case " RangeEnd" :
302+ case Property . RangeEnd :
279303 r . RangeEnd = propInput ;
280304 break ;
281- case "Maximum" :
282- r . Maximum = propInput ;
305+ case Property . StepFrequency :
306+ r . StepFrequency = propInput ;
283307 break ;
284308 default :
285309 Assert . Fail ( "Invalid param {0}" , targetProp ) ;
@@ -292,6 +316,15 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
292316 } ) ;
293317 }
294318
319+ public enum Property
320+ {
321+ StepFrequency ,
322+ Minimum ,
323+ Maximum ,
324+ RangeStart ,
325+ RangeEnd
326+ }
327+
295328 public record TestRecord ( double StepFrequency , double Minimum , double RangeStart , double RangeEnd , double Maximum ) ;
296329
297330 public static RangeSelector BuildRangeSelecor ( TestRecord input )
0 commit comments