Advertisement
peter90

EquivalentWithTests

Oct 30th, 2014
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.31 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Microsoft.VisualStudio.TestTools.UnitTesting;
  5.  
  6. namespace CollectionEquality.Tests
  7. {
  8.     [TestClass]
  9.     public class EquivalentWithTests
  10.     {
  11.         [TestMethod]
  12.         [ExpectedException(typeof(ArgumentNullException))]
  13.         public void BothEnumerableNullWillNotPass()
  14.         {
  15.             IEnumerable<int> source = null;
  16.             IEnumerable<int> other = null;
  17.             source.EquivalentWith(other);
  18.         }
  19.  
  20.         [TestMethod]
  21.         [ExpectedException(typeof(ArgumentNullException))]
  22.         public void SourceEnumerableNullWillNotPass()
  23.         {
  24.             IEnumerable<int> source = null;
  25.             IEnumerable<int> other = new[] { 1, 2, 3, 4, 5, 6 };
  26.             source.EquivalentWith(other);
  27.         }
  28.  
  29.         [TestMethod]
  30.         [ExpectedException(typeof(ArgumentNullException))]
  31.         public void OtherEnumerableNullWillNotPass()
  32.         {
  33.             IEnumerable<int> source = new[] { 1, 2, 3, 4, 5, 6 };
  34.             IEnumerable<int> other = null;
  35.             source.EquivalentWith(other);
  36.         }
  37.  
  38.         [TestMethod]
  39.         [ExpectedException(typeof(ArgumentNullException))]
  40.         public void SameEnumerableNullWillPass()
  41.         {
  42.             IEnumerable<int> source = null;
  43.             source.EquivalentWith(source);
  44.         }
  45.  
  46.         [TestMethod]
  47.         public void SameEnumerableWillPass()
  48.         {
  49.             IEnumerable<int> source = new[] { 1, 2, 3, 4, 5, 6 };
  50.             Assert.IsTrue(source.EquivalentWith(source));
  51.         }
  52.  
  53.         [TestMethod]
  54.         public void BothEnumerableSameWillPass()
  55.         {
  56.             IEnumerable<int> source = new[] { 1, 2, 3, 4, 5, 6 };
  57.             IEnumerable<int> other = new[] { 1, 2, 3, 4, 5, 6 };
  58.             Assert.IsTrue(source.EquivalentWith(other));
  59.         }
  60.  
  61.         [TestMethod]
  62.         public void EnumerableDifferentSizeWillNotPass()
  63.         {
  64.             IEnumerable<int> source = Enumerable.Range(0, 5000);
  65.             IEnumerable<int> other = Enumerable.Range(0, 500);
  66.             Assert.IsFalse(source.EquivalentWith(other));
  67.         }
  68.         [TestMethod]
  69.         public void CollectionsDifferentSizeWillNotPass()
  70.         {
  71.             var source = new List<int>(Enumerable.Range(0, 50));
  72.             var other = new List<int>(Enumerable.Range(0, 40));
  73.             Assert.IsFalse(source.EquivalentWith(other));
  74.         }
  75.  
  76.         [TestMethod]
  77.         public void BothEnumerableDifferentWillNotPass()
  78.         {
  79.             IEnumerable<int> source = new[] { 1, 2, 3, 4, 5, 6 };
  80.             IEnumerable<int> other = new[] { 3, 4, 5, 6, 7, 8 };
  81.             Assert.IsFalse(source.EquivalentWith(other));
  82.         }
  83.  
  84.         [TestMethod]
  85.         public void OtherEnumerableReversedWillPass()
  86.         {
  87.             IEnumerable<int> source = new[] { 1, 2, 3, 4, 5, 6 };
  88.             IEnumerable<int> other = new[] { 6, 5, 4, 3, 2, 1 };
  89.             Assert.IsTrue(source.EquivalentWith(other));
  90.         }
  91.  
  92.         [TestMethod]
  93.         public void OtherEnumerableReversedBothContainingNonUniqueAndUniqueWillPass()
  94.         {
  95.             IEnumerable<int> source = new[] { 1, 2, 2, 4, 5, 6 };
  96.             IEnumerable<int> other = new[] { 6, 5, 4, 2, 2, 1 };
  97.             Assert.IsTrue(source.EquivalentWith(other));
  98.         }
  99.  
  100.         [TestMethod]
  101.         public void OtherEnumerableReversedBothContainingNonUniqueAndUniqueButDifferentWillPass()
  102.         {
  103.             IEnumerable<int> source = new[] { 1, 2, 2, 4, 5, 6 };
  104.             IEnumerable<int> other = new[] { 6, 5, 4, 4, 2, 1 };
  105.  
  106.             Assert.IsFalse(source.EquivalentWith(other));
  107.         }
  108.  
  109.  
  110.         [TestMethod]
  111.         public void OtherEnumerableReversedBothContainingUniqueAndNullButDifferentWillPass()
  112.         {
  113.             var source = new int?[] { 1, 2, 3, 4, 5, 6, null };
  114.             var other = new int?[] { 6, 5, 4, 3, 2, 1, null };
  115.  
  116.             Assert.IsTrue(source.EquivalentWith(other));
  117.         }
  118.  
  119.         [TestMethod]
  120.         public void OtherEnumerableReversedBothContainingUniqueAndNotUniqueAndNullButDifferentWillPass()
  121.         {
  122.             var source = new int?[] { 1, 2, 3, 2, 5, 6, null };
  123.             var other = new int?[] { 6, 5, 2, 3, 2, 1, null };
  124.  
  125.             Assert.IsTrue(source.EquivalentWith(other));
  126.         }
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement