public void RejectChanges_On_Collection_Should_RejectChanges()
{
var orders = Helper.GetOrdersIList();
var trackable = orders.AsTrackable();
var first = trackable.First();
first.Id = 963;
first.CustomerNumber = "Testing";
var newOrder = Helper.GetOrder();
newOrder.Id = 999;
trackable.Add(newOrder);
trackable.RemoveAt(5);
var intf = trackable.CastToIChangeTrackableCollection();
intf.RejectChanges();
var ordersToMatch = Helper.GetOrdersIList().AsTrackable();
intf.UnchangedItems.Should().Contain(i => ordersToMatch.SingleOrDefault(o =>
o.Id == i.Id &&
i.CustomerNumber == o.CustomerNumber &&
i.CastToIChangeTrackable().ChangeTrackingStatus == o.CastToIChangeTrackable().ChangeTrackingStatus) != null);
intf.UnchangedItems.Count().Should().Be(ordersToMatch.Count);
intf.UnchangedItems.Count().Should().Be(intf.Count());
}