A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

36 lines
1.1 KiB

// -----------------------------------------------------------------------
// <copyright file="CollectionChangedTracker.cs" company="Steven Kirk">
// Copyright 2015 MIT Licence. See licence.md for more information.
// </copyright>
// -----------------------------------------------------------------------
namespace Perspex.Base.UnitTests.Collections
{
using System;
using System.Collections.Specialized;
internal class CollectionChangedTracker
{
public CollectionChangedTracker(INotifyCollectionChanged collection)
{
collection.CollectionChanged += this.CollectionChanged;
}
public NotifyCollectionChangedEventArgs Args { get; private set; }
public void Reset()
{
this.Args = null;
}
private void CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (this.Args != null)
{
throw new Exception("CollectionChanged called more than once.");
}
this.Args = e;
}
}
}