コード例 #1
0
        /// <summary>
        /// Test whether two collections are equivalent
        /// </summary>
        /// <param name="actual"></param>
        /// <returns></returns>
        protected override bool doMatch(IEnumerable actual)
        {
            // This is just an optimization
            if (expected is ICollection && actual is ICollection)
            {
                if (((ICollection)actual).Count != ((ICollection)expected).Count)
                {
                    return(false);
                }
            }

            CollectionTally tally = new CollectionTally(expected);

            return(tally.CanRemove(actual) && tally.AllCountsEqualTo(0));
        }
コード例 #2
0
ファイル: CollectionConstraints.cs プロジェクト: nobled/mono
        /// <summary>
        /// Test whether two collections are equivalent
        /// </summary>
        /// <param name="actual"></param>
        /// <returns></returns>
        protected override bool doMatch(IEnumerable actual)
        {
			// This is just an optimization
			if( expected is ICollection && actual is ICollection )
				if( ((ICollection)actual).Count != ((ICollection)expected).Count )
					return false;

			CollectionTally tally = new CollectionTally( expected );
			return tally.CanRemove( actual ) && tally.AllCountsEqualTo( 0 );
        }