예제 #1
0
        public void CreateCompoundComparer()
        {
            var specification1 = new SortedPropertySpecification(_orderNumberPropertyDefinition, SortOrder.Ascending);
            var specification2 = new SortedPropertySpecification(_orderNumberPropertyDefinition, SortOrder.Descending);

            var compoundComparer = (CompoundComparer <DomainObject>)SortedPropertyComparer.CreateCompoundComparer(new[] { specification1, specification2 }, _dataManagerStub);

            Assert.That(compoundComparer.Comparers.Count, Is.EqualTo(2));

            Assert.That(((SortedPropertyComparer)compoundComparer.Comparers[0]).SortedPropertySpecification, Is.SameAs(specification1));
            Assert.That(((SortedPropertyComparer)compoundComparer.Comparers[0]).DataManager, Is.SameAs(_dataManagerStub));

            Assert.That(((SortedPropertyComparer)compoundComparer.Comparers[1]).SortedPropertySpecification, Is.SameAs(specification2));
            Assert.That(((SortedPropertyComparer)compoundComparer.Comparers[1]).DataManager, Is.SameAs(_dataManagerStub));
        }
예제 #2
0
        public void Compare_Descending()
        {
            var domainObject1 = DomainObjectMother.CreateFakeObject <Order> ();
            var domainObject2 = DomainObjectMother.CreateFakeObject <Order> ();

            PrepareDataContainer(_dataManagerStub, domainObject1, 1);
            PrepareDataContainer(_dataManagerStub, domainObject2, 2);

            var specification = new SortedPropertySpecification(_orderNumberPropertyDefinition, SortOrder.Descending);
            var comparer      = new SortedPropertyComparer(specification, _dataManagerStub);

            Assert.That(comparer.Compare(domainObject1, domainObject1), Is.EqualTo(0));
            Assert.That(comparer.Compare(domainObject1, domainObject2), Is.EqualTo(1));
            Assert.That(comparer.Compare(domainObject2, domainObject1), Is.EqualTo(-1));
            Assert.That(comparer.Compare(domainObject2, domainObject2), Is.EqualTo(0));
        }
예제 #3
0
        public void Compare_DoesNotTriggerEvents()
        {
            var domainObject1 = DomainObjectMother.CreateFakeObject <Order> ();
            var domainObject2 = DomainObjectMother.CreateFakeObject <Order> ();

            var dataContainer1 = PrepareDataContainer(_dataManagerStub, domainObject1, 1);
            var dataContainer2 = PrepareDataContainer(_dataManagerStub, domainObject2, 2);

            var transaction = ClientTransaction.CreateRootTransaction();

            ClientTransactionTestHelper.RegisterDataContainer(transaction, dataContainer1);
            ClientTransactionTestHelper.RegisterDataContainer(transaction, dataContainer2);

            ClientTransactionTestHelperWithMocks.EnsureTransactionThrowsOnEvents(transaction);

            var specification = new SortedPropertySpecification(_orderNumberPropertyDefinition, SortOrder.Descending);
            var comparer      = new SortedPropertyComparer(specification, _dataManagerStub);

            Assert.That(comparer.Compare(domainObject1, domainObject1), Is.EqualTo(0));
        }