예제 #1
0
        public void GrandTotalComparer_Clone_Correctly()
        {
            GrandTotalComparer comparer = new GrandTotalComparer();

            comparer.AggregateIndex = 1;

            var copy = comparer.Clone() as GrandTotalComparer;

            Assert.IsNotNull(copy);
            Assert.AreNotSame(comparer, copy);
            Assert.IsInstanceOfType(copy, typeof(GrandTotalComparer));
            Assert.AreEqual(comparer.AggregateIndex, copy.AggregateIndex);
        }
        internal static void AssertPropertiesAreCloned(PropertyGroupDescriptionBase source, PropertyGroupDescriptionBase clone)
        {
            // CustomName
            Assert.AreEqual("CustomName", clone.CustomName);

            IGroupDescription igd      = source as IGroupDescription;
            IGroupDescription igdClone = clone as IGroupDescription;

            // GroupComparer
            Assert.AreNotSame(igd.GroupComparer, igdClone.GroupComparer);
            Assert.IsInstanceOfType(igdClone.GroupComparer, typeof(GrandTotalComparer));
            GrandTotalComparer comparerClone = (GrandTotalComparer)igdClone.GroupComparer;

            Assert.AreEqual(1, comparerClone.AggregateIndex);

            // GroupFilter
            //Assert.AreNotSame(source.GroupFilter, clone.GroupFilter);
            //Assert.IsInstanceOfType(clone.GroupFilter, typeof(ValueGroupFilter));

            //// GroupFilter.Condition
            //ValueGroupFilter groupFilterClone = (ValueGroupFilter)clone.GroupFilter;
            //Assert.AreNotSame(groupFilterClone.Condition, ((ValueGroupFilter)source.GroupFilter).Condition);
            //Assert.IsInstanceOfType(groupFilterClone.Condition, typeof(IntervalCondition));

            //IntervalCondition conditionClone = (IntervalCondition)groupFilterClone.Condition;
            //Assert.AreEqual(100, conditionClone.From);
            //Assert.AreEqual(200, conditionClone.To);
            //Assert.AreEqual(IntervalComparison.IsBetween, conditionClone.Condition);
            //Assert.AreEqual(1, groupFilterClone.AggregateIndex);

            // MemberAccess
            Assert.AreSame(source.MemberAccess, clone.MemberAccess);

            // PropertyName
            Assert.AreEqual("DoubleProperty", clone.PropertyName);

            // ShowGroupsWithNoData
            Assert.AreEqual(true, clone.ShowGroupsWithNoData);

            // SortOrder
            Assert.AreEqual(SortOrder.Descending, clone.SortOrder);
        }
예제 #3
0
        public void GrandTotalComparer_AggregateIndex_Raise_PropertyChanged()
        {
            GrandTotalComparer comparer = new GrandTotalComparer();

            comparer.AssertPropertyChanged("Setting AggregateIndex", () => comparer.AggregateIndex = 1, "AggregateIndex");
        }
예제 #4
0
 public void TestInitialize()
 {
     resultProvider     = new AggregatesResultProviderMock();
     grandTotalComparer = new GrandTotalComparer();
 }