public void ProcessDefaults_ShouldEvalueateToExpected_WhenTypeIsNullableArray( DateTime?[] value, DateTime?[] defaultValue, DateTime?[] defaultPickerValue, ExpectedSource expectedFirstSource, ExpectedSource expectedSecondSource ) { //Arrange var pickerValues = new DateTime[] { _now, _now }; var useDefaultPickerValue = new bool[] { false, false }; //Act RangePickerDefaults.ProcessDefaults <DateTime?[]>(value, defaultValue, defaultPickerValue, pickerValues, useDefaultPickerValue); //Assert Assert.Equal(FetchExpectedNullable(value, defaultValue, defaultPickerValue, expectedFirstSource, 0), pickerValues[0]); Assert.Equal(FetchExpectedNullable(value, defaultValue, defaultPickerValue, expectedSecondSource, 1), pickerValues[1]); }
private static DateTime?FetchExpectedNullable(DateTime?[] value, DateTime?[] defaultValue, DateTime?[] defaultPickerValue, ExpectedSource expectedFirstSource, int index ) { return(expectedFirstSource switch { Value => value[index], DefaultValue => defaultValue[index], DefaultPickerValue => defaultPickerValue[index], Minimum => DateTime.MinValue, Now => _now, _ => throw new ThrowsException(typeof(ExpectedSource)) });