/src/UnitTests/EnumerableExtensions.cs

http://github.com/philiplaureano/LinFu · C# · 32 lines · 25 code · 7 blank · 0 comment · 4 complexity · 88ae9dfb649f8cd3631c9b6ccf7ae569 MD5 · raw file

  1. using System.Collections.Generic;
  2. namespace LinFu.UnitTests
  3. {
  4. public static class EnumerableExtensions
  5. {
  6. public static bool AreEqualTo<T>(this IEnumerable<T> expectedArray, IEnumerable<T> actualArray)
  7. {
  8. var areEqual = true;
  9. var expectedItems = new Queue<T>(expectedArray);
  10. var actualItems = new Queue<T>(actualArray);
  11. if (expectedItems.Count != actualItems.Count)
  12. return false;
  13. while (expectedItems.Count > 0)
  14. {
  15. var expectedItem = expectedItems.Dequeue();
  16. var actualItem = actualItems.Dequeue();
  17. if (Equals(expectedItem, actualItem))
  18. continue;
  19. areEqual = false;
  20. break;
  21. }
  22. return areEqual;
  23. }
  24. }
  25. }