private void DoTestAddInsertRemoveReplaceOnEmptyList(SyntaxNodeOrTokenList list) { Assert.Equal(0, list.Count); SyntaxNodeOrToken tokenD = SyntaxFactory.ParseToken("D "); SyntaxNodeOrToken nodeE = SyntaxFactory.ParseExpression("E "); var newList = list.Add(tokenD); Assert.Equal(1, newList.Count); Assert.Equal("D ", newList.ToFullString()); newList = list.AddRange(new[] { tokenD, nodeE }); Assert.Equal(2, newList.Count); Assert.Equal("D E ", newList.ToFullString()); newList = list.Insert(0, tokenD); Assert.Equal(1, newList.Count); Assert.Equal("D ", newList.ToFullString()); newList = list.InsertRange(0, new[] { tokenD, nodeE }); Assert.Equal(2, newList.Count); Assert.Equal("D E ", newList.ToFullString()); newList = list.Remove(tokenD); Assert.Equal(0, newList.Count); Assert.Equal(-1, list.IndexOf(tokenD)); Assert.Throws <ArgumentOutOfRangeException>(() => list.RemoveAt(0)); Assert.Throws <ArgumentOutOfRangeException>(() => list.Insert(1, tokenD)); Assert.Throws <ArgumentOutOfRangeException>(() => list.Insert(-1, tokenD)); Assert.Throws <ArgumentOutOfRangeException>(() => list.InsertRange(1, new[] { tokenD })); Assert.Throws <ArgumentOutOfRangeException>( () => list.InsertRange(-1, new[] { tokenD }) ); Assert.Throws <ArgumentOutOfRangeException>(() => list.Add(default(SyntaxNodeOrToken))); Assert.Throws <ArgumentOutOfRangeException>( () => list.Insert(0, default(SyntaxNodeOrToken)) ); Assert.Throws <ArgumentNullException>( () => list.AddRange((IEnumerable <SyntaxNodeOrToken>)null) ); Assert.Throws <ArgumentNullException>( () => list.InsertRange(0, (IEnumerable <SyntaxNodeOrToken>)null) ); }
private void DoTestAddInsertRemoveReplaceOnEmptyList(SyntaxNodeOrTokenList list) { Assert.Equal(0, list.Count); SyntaxNodeOrToken tokenD = SyntaxFactory.ParseToken("D "); SyntaxNodeOrToken nodeE = SyntaxFactory.ParseExpression("E "); var newList = list.Add(tokenD); Assert.Equal(1, newList.Count); Assert.Equal("D ", newList.ToFullString()); newList = list.AddRange(new[] { tokenD, nodeE }); Assert.Equal(2, newList.Count); Assert.Equal("D E ", newList.ToFullString()); newList = list.Insert(0, tokenD); Assert.Equal(1, newList.Count); Assert.Equal("D ", newList.ToFullString()); newList = list.InsertRange(0, new[] { tokenD, nodeE }); Assert.Equal(2, newList.Count); Assert.Equal("D E ", newList.ToFullString()); newList = list.Remove(tokenD); Assert.Equal(0, newList.Count); Assert.Equal(-1, list.IndexOf(tokenD)); Assert.Throws<ArgumentOutOfRangeException>(() => list.RemoveAt(0)); Assert.Throws<ArgumentOutOfRangeException>(() => list.Insert(1, tokenD)); Assert.Throws<ArgumentOutOfRangeException>(() => list.Insert(-1, tokenD)); Assert.Throws<ArgumentOutOfRangeException>(() => list.InsertRange(1, new[] { tokenD })); Assert.Throws<ArgumentOutOfRangeException>(() => list.InsertRange(-1, new[] { tokenD })); Assert.Throws<ArgumentException>(() => list.Add(default(SyntaxNodeOrToken))); Assert.Throws<ArgumentException>(() => list.Insert(0, default(SyntaxNodeOrToken))); Assert.Throws<ArgumentNullException>(() => list.AddRange((IEnumerable<SyntaxNodeOrToken>)null)); Assert.Throws<ArgumentNullException>(() => list.InsertRange(0, (IEnumerable<SyntaxNodeOrToken>)null)); }