public void CoefficientOfVariation_WithObserverable_ValueSetNotifyObservers() { // Setup var mocks = new MockRepository(); var distribution = mocks.Stub <IVariationCoefficientDistribution>(); var observerable = mocks.StrictMock <IObservable>(); observerable.Expect(o => o.NotifyObservers()); mocks.ReplayAll(); var newCoefficientOfVariation = new RoundedDouble(3, 20); var handler = new SetPropertyValueAfterConfirmationParameterTester(new[] { observerable }); var properties = new SimpleDistributionProperties(VariationCoefficientDistributionReadOnlyProperties.None, distribution, handler) { Data = distribution }; // Call properties.CoefficientOfVariation = newCoefficientOfVariation; // Assert Assert.AreEqual(newCoefficientOfVariation, properties.CoefficientOfVariation); mocks.VerifyAll(); }
private static void AssertPropertiesInState(SimpleDistributionProperties properties, bool meanReadOnly, bool variationCoefficientReadOnly) { Assert.IsInstanceOf <VariationCoefficientDistributionPropertiesBase <IVariationCoefficientDistribution> >(properties); PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); Assert.AreEqual(3, dynamicProperties.Count); PropertyDescriptor distributionTypeProperty = dynamicProperties[0]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(distributionTypeProperty, "Misc", "Type verdeling", "Het soort kansverdeling waarin deze parameter gedefinieerd wordt.", true); PropertyDescriptor meanProperty = dynamicProperties[1]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(meanProperty, "Misc", "Verwachtingswaarde", "", meanReadOnly); PropertyDescriptor coefficientOfVariationProperty = dynamicProperties[2]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(coefficientOfVariationProperty, "Misc", "Variatiecoëfficiënt", "", variationCoefficientReadOnly); }
public void Data_SetNewDistributionContextInstance_ReturnCorrectPropertyValues() { // Setup var mocks = new MockRepository(); var distribution = mocks.Stub <IVariationCoefficientDistribution>(); distribution.Mean = new RoundedDouble(1, 1.1); distribution.CoefficientOfVariation = new RoundedDouble(2, 2.2); var handler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); var properties = new SimpleDistributionProperties(VariationCoefficientDistributionReadOnlyProperties.None, distribution, handler); // Call properties.Data = distribution; // Assert Assert.AreEqual(distribution.Mean, properties.Mean); Assert.AreEqual(distribution.CoefficientOfVariation, properties.CoefficientOfVariation); var expectedToString = $"{distribution.Mean} (Variatiecoëfficiënt = {distribution.CoefficientOfVariation})"; Assert.AreEqual(expectedToString, properties.ToString()); mocks.VerifyAll(); }
private static void AssertPropertiesInState(SimpleDistributionProperties properties, bool meanReadOnly, bool deviationReadOnly) { PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); Assert.AreEqual(3, dynamicProperties.Count); PropertyDescriptor distributionTypeProperty = dynamicProperties[0]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(distributionTypeProperty, "Misc", "Type verdeling", "Het soort kansverdeling waarin deze parameter gedefinieerd wordt.", true); PropertyDescriptor meanProperty = dynamicProperties[1]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(meanProperty, "Misc", "Verwachtingswaarde", "", meanReadOnly); PropertyDescriptor standardDeviationProperty = dynamicProperties[2]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(standardDeviationProperty, "Misc", "Standaardafwijking", "", deviationReadOnly); }
public void Constructor_ReadOnlyWithData_ExpectedValues() { // Setup var mocks = new MockRepository(); var distribution = mocks.Stub <IVariationCoefficientDistribution>(); mocks.ReplayAll(); // Call var properties = new SimpleDistributionProperties(VariationCoefficientDistributionReadOnlyProperties.All, distribution, null); // Assert Assert.IsInstanceOf <VariationCoefficientDistributionPropertiesBase <IVariationCoefficientDistribution> >(properties); Assert.AreSame(distribution, properties.Data); mocks.VerifyAll(); }
public void Constructor_Always_PropertiesHaveExpectedAttributesValues(VariationCoefficientDistributionReadOnlyProperties readOnlyProperties, bool expectMeanReadOnly, bool expectCoefficientOfVariationReadOnly) { // Setup var mocks = new MockRepository(); var distribution = mocks.Stub <IVariationCoefficientDistribution>(); var handler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); // Call var properties = new SimpleDistributionProperties(readOnlyProperties, distribution, handler); // Assert AssertPropertiesInState(properties, expectMeanReadOnly, expectCoefficientOfVariationReadOnly); mocks.VerifyAll(); }
public void Constructor_WithData_ReadOnlyProperties() { // Setup var mocks = new MockRepository(); var distribution = mocks.Stub <IVariationCoefficientDistribution>(); mocks.ReplayAll(); // Call var properties = new SimpleDistributionProperties(distribution); // Assert Assert.AreSame(distribution, properties.Data); AssertPropertiesInState(properties, true, true); mocks.VerifyAll(); }
public void CoefficientOfVariation_ReadOnlyWithoutObserverable_ThrowsArgumentException(VariationCoefficientDistributionReadOnlyProperties readOnlyProperties) { // Setup var mocks = new MockRepository(); var distribution = mocks.Stub <IVariationCoefficientDistribution>(); var handler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); var properties = new SimpleDistributionProperties(readOnlyProperties, distribution, handler); // Call TestDelegate test = () => properties.CoefficientOfVariation = new RoundedDouble(2, 20); // Assert const string expectedMessage = "CoefficientOfVariation is set to be read-only."; string actualMessage = Assert.Throws <InvalidOperationException>(test).Message; Assert.AreEqual(expectedMessage, actualMessage); mocks.VerifyAll(); }
public void DynamicReadOnlyValidationMethod_VariousReadOnlySet_ExpectedValues(VariationCoefficientDistributionReadOnlyProperties readOnlyProperties, bool expectMeanReadOnly, bool expectCoefficientOfVariationReadOnly) { // Setup var mocks = new MockRepository(); var distribution = mocks.Stub <IVariationCoefficientDistribution>(); var handler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); var properties = new SimpleDistributionProperties(readOnlyProperties, distribution, handler); // Call bool meanIsReadOnly = properties.DynamicReadOnlyValidationMethod("Mean"); bool coefficientOfVariationIsReadOnly = properties.DynamicReadOnlyValidationMethod("CoefficientOfVariation"); bool doesNotExist = properties.DynamicReadOnlyValidationMethod("DoesNotExist"); // Assert Assert.AreEqual(expectCoefficientOfVariationReadOnly, coefficientOfVariationIsReadOnly); Assert.AreEqual(expectMeanReadOnly, meanIsReadOnly); Assert.IsFalse(doesNotExist); mocks.VerifyAll(); }