public void MinimumValueShouldBeSetToDoubleMinimumWhenNumericFieldIsNotUsedAsNumberOfSamples() { var vm = new NumericFieldViewModel(); var editableRoot = new NumericFieldTestStub {Sample_f_SampleSettings = @"<SampleSettings SampleSizeFieldName=""NumberOfSamples_f"" />"}; var detailsModelMock = Mock.Create<IDetailsViewModel>(); vm.Property = typeof(NumericFieldTestStub).GetPropertyByName("JustANumber_f"); vm.Init(editableRoot, null, detailsModelMock); Assert.AreEqual(double.MinValue, vm.MinimumValue); }
public void MinimumValueShouldBeSetToMinimumValueWhenNumericFieldIsUsedAsNumberOfSamplesButSampleSettingsAreEmpty() { var vm = new NumericFieldViewModel(); var editableRoot = new NumericFieldTestStub(); var detailsModelMock = Mock.Create<IDetailsViewModel>(); vm.Property = typeof(NumericFieldTestStub).GetPropertyByName("NumberOfSamples_f"); vm.Init(editableRoot, null, detailsModelMock); Assert.AreEqual(double.MinValue, vm.MinimumValue); }
protected override DriverResult Editor(ContentPart part, NumericField field, IUpdateModel updater, dynamic shapeHelper) { var viewModel = new NumericFieldViewModel(); if (updater.TryUpdateModel(viewModel, GetPrefix(field, part), null, null)) { Decimal value; var settings = field.PartFieldDefinition.Settings.GetModel <NumericFieldSettings>(); if (settings.Required && String.IsNullOrWhiteSpace(viewModel.Value)) { updater.AddModelError(GetPrefix(field, part), T("The field {0} is mandatory.", T(field.DisplayName))); } if (!settings.Required && String.IsNullOrWhiteSpace(viewModel.Value)) { field.Value = null; } else if (Decimal.TryParse(viewModel.Value, NumberStyles.Any, _cultureInfo.Value, out value)) { field.Value = value; } else { updater.AddModelError(GetPrefix(field, part), T("{0} is an invalid number", field.DisplayName)); field.Value = null; } if (settings.Minimum.HasValue && field.Value.HasValue && field.Value.Value < settings.Minimum.Value) { updater.AddModelError(GetPrefix(field, part), T("The value must be greater than {0}", settings.Minimum.Value)); } if (settings.Maximum.HasValue && field.Value.HasValue && field.Value.Value > settings.Maximum.Value) { updater.AddModelError(GetPrefix(field, part), T("The value must be less than {0}", settings.Maximum.Value)); } // checking the number of decimals if (field.Value.HasValue && Math.Round(field.Value.Value, settings.Scale) != field.Value.Value) { if (settings.Scale == 0) { updater.AddModelError(GetPrefix(field, part), T("The field {0} must be an integer", field.DisplayName)); } else { updater.AddModelError(GetPrefix(field, part), T("Invalid number of digits for {0}, max allowed: {1}", field.DisplayName, settings.Scale)); } } } return(Editor(part, field, shapeHelper)); }
protected override DriverResult Editor(ContentPart part, NumericField field, dynamic shapeHelper) { return(ContentShape("Fields_Numeric_Edit", GetDifferentiator(field, part), () => { var model = new NumericFieldViewModel { Field = field, Settings = field.PartFieldDefinition.Settings.GetModel <NumericFieldSettings>(), Value = Convert.ToString(field.Value, _cultureInfo.Value) }; return shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: model, Prefix: GetPrefix(field, part)); })); }
public void FontStylePropertyTest() { // arrange var vm = new NumericFieldViewModel(); vm.Value = 5; // act var result = vm.FontStyle; // assert Assert.AreEqual(FontStyles.Normal, result); // arrange vm.Value = null; // act result = vm.FontStyle; // assert Assert.AreEqual(FontStyles.Italic, result); }
public void PropertiesTests() { var vm = new NumericFieldViewModel(); TestsHelper.TestPublicPropertiesGetSet(vm, x=>vm.MinimumValue, x=>vm.VisibilityRules); }
public void DocumentationWithNumericField() { // arrange var isFontStyleWasRaises = false; var isForegroundWasRaises = false; var vm = new NumericFieldViewModel(); Mock.NonPublic.Arrange(vm, "RaisePropertyChanged", ArgExpr.IsAny<Expression<Func<FontStyle>>>()).DoInstead(() => isFontStyleWasRaises = true); Mock.NonPublic.Arrange(vm, "RaisePropertyChanged", ArgExpr.IsAny<Expression<Func<Brush>>>()).DoInstead(() => isForegroundWasRaises = true); // act vm.Value = 5; // assert Assert.IsTrue(isFontStyleWasRaises); Assert.IsTrue(isForegroundWasRaises); }
public void ForegroundPropertyTest() { // arrange var vm = new NumericFieldViewModel(); vm.Value = 5; // act var result = vm.Foreground; // assert Assert.AreEqual(new SolidColorBrush(Colors.Black).Color, ((SolidColorBrush)result).Color); // arrange vm.Value = null; // act result = vm.Foreground; // assert Assert.AreEqual(new SolidColorBrush(Colors.LightGray).Color, ((SolidColorBrush)result).Color); }