public void ShouldSortAggregationOperationsAccordingPriority()
        {
            var comparer = new AggregateOperationPriorityComparer();
            var data = new AggregateOperation[]
                       {
                           new DestroyAggregate(typeof(object), 0),
                           new InitializeAggregate(typeof(object), 0),
                           new RecalculateAggregate(typeof(object), 0),
                       };

            var sortedData = data.OrderByDescending(x => x.GetType(), comparer).ToArray();

            Assert.That(sortedData[0], Is.InstanceOf<DestroyAggregate>());
            Assert.That(sortedData[1], Is.InstanceOf<InitializeAggregate>());
            Assert.That(sortedData[2], Is.InstanceOf<RecalculateAggregate>());
        }
 private bool Equals(AggregateOperation other)
 {
     return AggregateType == other.AggregateType && AggregateId == other.AggregateId;
 }
 private bool Equals(AggregateOperation other)
 {
     return(AggregateType == other.AggregateType && AggregateId == other.AggregateId);
 }