public void ToString_Always_ReturnEmptyString()
        {
            // Setup
            var mocks         = new MockRepository();
            var changeHandler = mocks.Stub <IObservablePropertyChangeHandler>();

            mocks.ReplayAll();

            var input      = new TestMacroStabilityInwardsLocationInput();
            var properties = new TestMacroStabilityInwardsLocationProperties(input, changeHandler);

            // Call
            string toString = properties.ToString();

            // Assert
            Assert.AreEqual(string.Empty, toString);
        }
        public void GivenPropertiesWithData_WhenChangingProperties_ThenPropertiesSetOnInput()
        {
            // Given
            var calculation = new MacroStabilityInwardsCalculationScenario();
            var input       = new TestMacroStabilityInwardsLocationInput();

            var handler    = new ObservablePropertyChangeHandler(calculation, calculation.InputParameters);
            var properties = new TestMacroStabilityInwardsLocationProperties(input, handler);

            var    random           = new Random(21);
            double waterLevelPolder = random.NextDouble();

            // When
            properties.WaterLevelPolder = (RoundedDouble)waterLevelPolder;

            // Then
            Assert.AreEqual(waterLevelPolder, input.WaterLevelPolder,
                            input.WaterLevelPolder.GetAccuracy());
        }
        public void GetProperties_WithData_ReturnExpectedValues()
        {
            // Setup
            var mocks         = new MockRepository();
            var changeHandler = mocks.Stub <IObservablePropertyChangeHandler>();

            mocks.ReplayAll();

            var input = new TestMacroStabilityInwardsLocationInput();

            // Call
            var properties = new TestMacroStabilityInwardsLocationProperties(input, changeHandler);

            // Assert
            Assert.AreEqual(input.WaterLevelPolder, properties.WaterLevelPolder);
            Assert.AreSame(input, properties.Offsets.Data);

            mocks.VerifyAll();
        }
        public void Constructor_ExpectedValues()
        {
            // Setup
            var mocks         = new MockRepository();
            var changeHandler = mocks.Stub <IObservablePropertyChangeHandler>();

            mocks.ReplayAll();

            var input = new TestMacroStabilityInwardsLocationInput();

            // Call
            var properties = new TestMacroStabilityInwardsLocationProperties(input, changeHandler);

            // Assert
            Assert.IsInstanceOf <ObjectProperties <MacroStabilityInwardsLocationInputBase> >(properties);
            Assert.AreSame(input, properties.Data);

            TestHelper.AssertTypeConverter <TestMacroStabilityInwardsLocationProperties, ExpandableObjectConverter>(
                nameof(TestMacroStabilityInwardsLocationProperties.Offsets));

            mocks.VerifyAll();
        }
        public void Constructor_ValidData_PropertiesHaveExpectedAttributesValues()
        {
            // Setup
            var mocks         = new MockRepository();
            var changeHandler = mocks.Stub <IObservablePropertyChangeHandler>();

            mocks.ReplayAll();

            var input = new TestMacroStabilityInwardsLocationInput();

            // Call
            var properties = new TestMacroStabilityInwardsLocationProperties(input, changeHandler);

            // Assert
            PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);

            Assert.AreEqual(2, dynamicProperties.Count);

            const string waterStressesCategory = "Waterspanningen";

            PropertyDescriptor waterLevelPolderProperty = dynamicProperties[expectedwaterLevelPolderPropertyIndex];

            PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(
                waterLevelPolderProperty,
                waterStressesCategory,
                "Polderpeil [m+NAP]",
                "Het niveau van het oppervlaktewater binnen een beheersgebied.");

            PropertyDescriptor offsetProperty = dynamicProperties[expecteOffsetPropertyIndex];

            PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(
                offsetProperty,
                waterStressesCategory,
                "Offsets PL 1",
                "Eigenschappen van offsets PL 1.",
                true);

            mocks.VerifyAll();
        }
        private static void SetPropertyAndVerifyNotificationsForCalculation(Action <TestMacroStabilityInwardsLocationProperties> setProperty)
        {
            // Setup
            var mocks      = new MockRepository();
            var observable = mocks.StrictMock <IObservable>();

            observable.Expect(o => o.NotifyObservers());
            mocks.ReplayAll();

            var handler = new SetPropertyValueAfterConfirmationParameterTester(new[]
            {
                observable
            });

            var properties = new TestMacroStabilityInwardsLocationProperties(new TestMacroStabilityInwardsLocationInput(), handler);

            // Call
            setProperty(properties);

            // Assert
            Assert.IsTrue(handler.Called);
            mocks.VerifyAll();
        }