public void MyCollectionComparator_ShouldReturnFalse_IfCollectionsHaveDifferentElementCount()
        {
            string message;
            var    result = MyCollectionComparator <String> .Compare(CollectionAbcd(), CollectionAbcde(), out message);

            Assert.AreEqual(false, result);
            Assert.AreEqual("There are unique items in Collection2: [ e ]", message);
        }
        public void MyCollectionComparator_ShouldReturnFalse_IfSecondCollectionIsEmpty()
        {
            string message;
            var    result = MyCollectionComparator <String> .Compare(CollectionAbcde(), EmptyCollection <String>(), out message);

            Assert.AreEqual(false, result);
            Assert.AreEqual("There are unique items in Collection1: [ a b c d e ]. ", message);
        }
        public void MyCollectionComparator_ShouldReturnTrue_IfCollectionsHaveEqualElementsAndAreNotSorted()
        {
            string message;
            bool   result = MyCollectionComparator <String> .Compare(CollectionAbcd(), CollectionBadc(), out message);

            Assert.AreEqual(true, result);
            Assert.AreEqual(equalString, message);
        }
        public void MyCollectionComparator_ShouldReturnTrue_IfCollectionsHaveEqualElemaentsAndSameSortOrder()
        {
            string message;
            var    result = MyCollectionComparator <String> .Compare(CollectionAbcd(), CollectionAbcd(), out message);

            Assert.AreEqual(true, result);
            Assert.AreEqual(equalString, message);
        }
        public void MyCollectionComparator_ShouldReturnTrue_IfBothCollectionAreNull()
        {
            string message;
            var    result = MyCollectionComparator <String> .Compare(null, null, out message);

            Assert.AreEqual(true, result);
            Assert.AreEqual(equalString, message);
        }
        public void MyCollectionComparator_ShouldReturnFalse_IfFirstCollectionIsNull()
        {
            string message;
            var    result = MyCollectionComparator <String> .Compare(null, CollectionAbcde(), out message);

            Assert.AreEqual(false, result);
            Assert.AreEqual("There are unique items in Collection2: [ a b c d e ]", message);
        }
        public void MyCollectionComparator_ShouldReturnTrue_IfBothCollectionsAreEmpty()
        {
            string message;
            var    result = MyCollectionComparator <String> .Compare(EmptyCollection <String>(), EmptyCollection <String>(), out message);

            Assert.AreEqual(true, result);
            Assert.AreEqual(equalString, message);
        }