public static void When_I_modify_an_ObservedCollection()
        {
            var observingClass = new CollectionObservingClass();
            var observedCollection = observingClass.ObservedCollection;
            var propertiesThatChanged = observingClass.ObservePropertyChanges();

            observedCollection.Add(1.0M);

            "it should only notify once that ObservingProperty, ObservingCalulatedProperty and ObservingMethodCallCalculatedProperty on the ObservingClass have changed"
                .AssertThat(propertiesThatChanged, Is.EquivalentTo(new[] { "ObservingProperty", "ObservingCalculatedProperty", "ObservingMethodCallCalculatedProperty" }));

            "it should update the backing field for the ObservedCollection property"
                .AssertThat(observingClass.ObservingProperty, Is.EqualTo(observedCollection.Sum()));
        }
        public static void When_I_modify_an_ObservedCollection()
        {
            var observingClass        = new CollectionObservingClass();
            var observedCollection    = observingClass.ObservedCollection;
            var propertiesThatChanged = observingClass.ObservePropertyChanges();

            observedCollection.Add(1.0M);

            "it should only notify once that ObservingProperty, ObservingCalulatedProperty and ObservingMethodCallCalculatedProperty on the ObservingClass have changed"
            .AssertThat(propertiesThatChanged, Is.EquivalentTo(new[] { "ObservingProperty", "ObservingCalculatedProperty", "ObservingMethodCallCalculatedProperty" }));

            "it should update the backing field for the ObservedCollection property"
            .AssertThat(observingClass.ObservingProperty, Is.EqualTo(observedCollection.Sum()));
        }