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)); }
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)); }
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)); }