using System.Collections.ObjectModel;
using Catel.Collections;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Catel.Test.Collections
{
[TestClass]
public class CollectionHelperTest
{
#region IsEqualTo
[TestMethod]
public void IsEqualTo_ShouldReturnFalse()
{
var collectionA = new Collection<int> { 1 };
var collectionB = new Collection<int> { 1, 2 };
Assert.IsFalse(CollectionHelper.IsEqualTo(collectionA, collectionB));
}
[TestMethod]
public void IsEqualTo_ShouldReturnTrue()
{
var collectionA = new Collection<int> { 1 };
var collectionB = new Collection<int> { 1 };
Assert.IsTrue(CollectionHelper.IsEqualTo(collectionA, collectionB));
}
[TestMethod]
public void IsEqualTo_ShouldReturnTrueWithEqualObjects()
{
var collection = new Collection<int> { 1 };
Assert.IsTrue(CollectionHelper.IsEqualTo(collection, collection));
}
[TestMethod]
public void IsEqualTo_ShouldreturnFalseWithCollectionANull()
{
Collection<int> collectionA = null;
var collectionB = new Collection<int> { 1 };
Assert.IsFalse(CollectionHelper.IsEqualTo(collectionA, collectionB));
}
[TestMethod]
public void IsEqualTo_ShouldReturnFalseWithCollectionBNull()
{
var collectionA = new Collection<int> { 1 };
Collection<int> collectionB = null;
Assert.IsFalse(CollectionHelper.IsEqualTo(collectionA, collectionB));
}
[TestMethod]
public void IsEqualTo_ShouldReturnFalseWhenThridValueDoesNotMatch()
{
var collectionA = new Collection<int> { 1, 2, 4 };
var collectionB = new Collection<int> { 1, 2, 3 };
Assert.IsFalse(CollectionHelper.IsEqualTo(collectionA, collectionB));
}
#endregion
}
}