public void WaterVolumetricWeight_SetValidValue_SetsValueRoundedAndUpdatesObservers(double value) { // Setup var mocks = new MockRepository(); var observable = mocks.StrictMock <IObservable>(); observable.Expect(o => o.NotifyObservers()); mocks.ReplayAll(); var failureMechanism = new PipingFailureMechanism(); var roundedValue = (RoundedDouble)value; var handler = new FailureMechanismSetPropertyValueAfterConfirmationParameterTester <PipingFailureMechanism, RoundedDouble>( failureMechanism, roundedValue, new[] { observable }); var properties = new PipingFailureMechanismProperties(failureMechanism, handler); // Call properties.WaterVolumetricWeight = roundedValue; // Assert Assert.AreEqual(value, failureMechanism.GeneralInput.WaterVolumetricWeight, failureMechanism.GeneralInput.WaterVolumetricWeight.GetAccuracy()); Assert.IsTrue(handler.Called); mocks.VerifyAll(); }
public void WaterVolumetricWeight_SetInvalidValue_ThrowArgumentExceptionAndDoesNotUpdateObservers(double value) { // Setup var mocks = new MockRepository(); var observable = mocks.StrictMock <IObservable>(); mocks.ReplayAll(); var failureMechanism = new PipingFailureMechanism(); var roundedValue = (RoundedDouble)value; var handler = new FailureMechanismSetPropertyValueAfterConfirmationParameterTester <PipingFailureMechanism, RoundedDouble>( failureMechanism, roundedValue, new[] { observable }); var properties = new PipingFailureMechanismProperties(failureMechanism, handler); // Call void Call() => properties.WaterVolumetricWeight = roundedValue; // Assert const string expectedMessage = "De waarde moet binnen het bereik [0,00, 20,00] liggen."; TestHelper.AssertThrowsArgumentExceptionAndTestMessage <ArgumentOutOfRangeException>(Call, expectedMessage); Assert.IsTrue(handler.Called); mocks.VerifyAll(); }