public void TestCountReturnsNumberOfItems([Range(0, 3)] int count) { // Create collection ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); Assert.AreEqual(count, collection.Count); }
public void TestAddWithNullItemDoesNotAddItem() { // Create collection const int count = 3; ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); collection.Add(null); Assert.AreEqual(count, collection.Count); }
public void TestContainsWhenItemIsPresentReturnsTrue() { // Create collection const int count = 3; ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); Assert.AreEqual(count, collection.Count); bool contains = collection.Contains(collection.First()); Assert.IsTrue(contains); }
public void TestClearWithItemsInCollection() { // Create collection const int count = 3; ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); Assert.AreEqual(count, collection.Count); collection.Clear(); Assert.AreEqual(0, collection.Count); }
public void TestToXmlStringWithCollectionOfMultipleItemsReturnsCollectionXmlString( [Values] bool withXmlTag) { // Create collection and expected string of xml nodes const int count = 3; ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out string innerXml); // With tag includes parent xml tag, without is just value string expected = withXmlTag ? NUnitFilterTestHelper.CreateXmlNode(NUnitFilterTestHelper.XmlAndTag, innerXml) : innerXml; Assert.AreEqual(count, collection.Count); Assert.AreEqual(expected, collection.ToXmlString(withXmlTag)); }
public void TestAddWithNonNullItemAddsItem() { // Create collection and item to add const int count = 3; const string value = "Value_new"; const string xmlTag = "name_new"; XmlSerializableElementForTest item = new XmlSerializableElementForTest(xmlTag, value, NUnitElementType.And); ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); collection.Add(item); Assert.AreEqual(count + 1, collection.Count); Assert.AreSame(item, collection.Last()); }
public void TestContainsWhenItemIsNotPresentReturnsFalse([Values] bool isNull) { // Create collection and item to search const int count = 3; const string value = "Value_new"; const string xmlTag = "name_new"; XmlSerializableElementForTest item = isNull ? null : new XmlSerializableElementForTest(xmlTag, value, NUnitElementType.And); ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); Assert.AreEqual(count, collection.Count); bool contains = collection.Contains(item); Assert.IsFalse(contains); }
public void TestRemoveWhenItemIsPresentRemovesItemAndReturnsTrue() { // Create collection const int count = 3; ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); IList <INUnitFilterBaseElement> expected = new List <INUnitFilterBaseElement>(collection); expected.RemoveAt(0); Assert.AreEqual(count, collection.Count); bool removed = collection.Remove(collection.First()); Assert.IsTrue(removed); Assert.AreEqual(count - 1, collection.Count); CollectionAssert.AreEqual(expected, collection); }
public void TestCopyToWithItemsInCollectionCopiesToArray([Range(0, 2)] int arrayIndex) { // Create collection and expected const int count = 3; ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); IList <INUnitFilterBaseElement> collectionList = collection.ToList(); INUnitFilterBaseElement[] expected = new INUnitFilterBaseElement[count + arrayIndex]; for (int i = arrayIndex, j = 0; i < expected.Length; i++, j++) { expected[i] = collectionList[j]; } INUnitFilterBaseElement[] array = new INUnitFilterBaseElement[count + arrayIndex]; Assert.AreEqual(count, collection.Count); collection.CopyTo(array, arrayIndex); CollectionAssert.AreEqual(expected, array); }
public void TestCopyToThrowsArgumentExceptionWhenCollectionDoesNotFitInArrayLength( [Values] bool indexOutOfRange) { // Create collection const int count = 3; ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); // If indexOutOfRange then the array index plus collection length is longer than the array, // otherwise the array is just not long enough to hold collection int arrayLength = indexOutOfRange ? count : 0; int arrayIndex = indexOutOfRange ? 1 : 0; INUnitFilterBaseElement[] array = new INUnitFilterBaseElement[arrayLength]; Assert.Throws( Is.TypeOf <ArgumentException>().And.Message.EqualTo( "Destination array was not long enough." + " Check the destination index, length, and the array's lower bounds." + " (Parameter 'destinationArray')"), () => collection.CopyTo(array, arrayIndex)); }
public void TestGetEnumeratorWithItemsInCollection() { // Create collection const int count = 3; ExpressionCollection <INUnitFilterBaseElement> collection = NUnitFilterTestHelper.CreateCollection(count, out _); IEnumerator <INUnitFilterBaseElement> enumerator = collection.GetEnumerator(); Assert.AreEqual(count, collection.Count); Assert.IsNotNull(enumerator); // Copy enumerator to list IList <INUnitFilterBaseElement> copy = new List <INUnitFilterBaseElement>(); while (enumerator.MoveNext()) { copy.Add(enumerator.Current); } CollectionAssert.AreEqual(collection, copy); enumerator.Dispose(); }