public void Constructor_WithData_ReturnExpectedValues() { // Setup var mocks = new MockRepository(); var targetProbabilityChangeHandler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); var calculation = new DuneLocationCalculation(new TestDuneLocation()); var calculationsForTargetProbability = new DuneLocationCalculationsForTargetProbability(0.1) { DuneLocationCalculations = { calculation } }; // Call using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(calculationsForTargetProbability, targetProbabilityChangeHandler)) { // Assert Assert.IsInstanceOf <ObjectProperties <DuneLocationCalculationsForTargetProbability> >(properties); Assert.IsInstanceOf <IDisposable>(properties); Assert.AreSame(calculationsForTargetProbability, properties.Data); Assert.AreEqual(calculationsForTargetProbability.TargetProbability, properties.TargetProbability); Assert.AreEqual(1, properties.Calculations.Length); Assert.AreSame(calculation, properties.Calculations[0].Data); mocks.VerifyAll(); } }
public void TargetProbability_Always_InputChangedAndObservablesNotified() { // Setup var mocks = new MockRepository(); var observable = mocks.StrictMock <IObservable>(); observable.Expect(o => o.NotifyObservers()); mocks.ReplayAll(); var customHandler = new SetPropertyValueAfterConfirmationParameterTester(new[] { observable }); var calculationsForTargetProbability = new DuneLocationCalculationsForTargetProbability(0.1) { DuneLocationCalculations = { new DuneLocationCalculation(new TestDuneLocation()) } }; var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties( calculationsForTargetProbability, customHandler); // Call properties.TargetProbability = 0.01; // Assert mocks.VerifyAll(); }
public void GivenDisposedPropertyControlWithData_WhenSingleCalculationUpdated_RefreshRequiredEventNotRaised() { // Given var mocks = new MockRepository(); var targetProbabilityChangeHandler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); var calculation = new DuneLocationCalculation(new TestDuneLocation()); var calculationsForTargetProbability = new DuneLocationCalculationsForTargetProbability(0.1) { DuneLocationCalculations = { calculation } }; using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(calculationsForTargetProbability, targetProbabilityChangeHandler)) { var refreshRequiredRaised = 0; properties.RefreshRequired += (sender, args) => refreshRequiredRaised++; properties.Dispose(); // When calculation.NotifyObservers(); // Then Assert.AreEqual(0, refreshRequiredRaised); mocks.VerifyAll(); } }
public void Constructor_Always_PropertiesHaveExpectedAttributesValues() { // Setup var mocks = new MockRepository(); var targetProbabilityChangeHandler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); // Call using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties( new DuneLocationCalculationsForTargetProbability(0.1), targetProbabilityChangeHandler)) { // Assert PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); Assert.AreEqual(2, dynamicProperties.Count); PropertyDescriptor targetProbabilityProperty = dynamicProperties[targetProbabilityPropertyIndex]; Assert.IsInstanceOf <NoProbabilityValueDoubleConverter>(targetProbabilityProperty.Converter); PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(targetProbabilityProperty, "Algemeen", "Doelkans [1/jaar]", "Overschrijdingskans waarvoor de hydraulische belastingen worden berekend."); PropertyDescriptor locationsProperty = dynamicProperties[calculationsPropertyIndex]; Assert.IsInstanceOf <ExpandableArrayConverter>(locationsProperty.Converter); PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(locationsProperty, "Algemeen", "Locaties", "Locaties uit de hydraulische belastingendatabase.", true); mocks.VerifyAll(); } }