public void ListMustHaveOneFewerSeparatorThanElements(int elementCount, int separatorCount) { var elements = Enumerable.Repeat(TestSyntaxFactory.CreateInt(42), elementCount); var separators = Enumerable.Repeat(TestSyntaxFactory.CreateToken(TokenType.Colon), separatorCount); Action wrongSeparators = () => new SeparatedSyntaxList(elements, separators, new TextSpan(0, 0)); wrongSeparators.Should().Throw <ArgumentException>().WithMessage($"The number of separators ({separatorCount}) must be the same or one less than the number of elements ({elementCount})."); }
public void EmptyListMustHaveZeroSeparators(int separatorCount) { var separators = Enumerable.Repeat(TestSyntaxFactory.CreateToken(TokenType.Colon), separatorCount); // ReSharper disable once ObjectCreationAsStatement Action wrongSeparators = () => new SeparatedSyntaxList(Enumerable.Empty <SyntaxBase>(), separators, new TextSpan(53, 1)); wrongSeparators.Should().Throw <ArgumentException>().WithMessage("With zero elements, the number of separators must also be zero."); }