public void TestFasCommentCheckRestrictedSymbols() { const string AllChars = "abcdefghijklmnopqrstuvwxyz \n\t абвгдеёжзийклмнопрстуфхцчшщьыъэюя 1234567890 \\ \" .,;:~'`!? №@#$%^&|_ []{}()<> /*-+="; var value = new FasElementValue { Raw = "custom", Text = AllChars }; var constraints = new PlainTextElementConstraints(); TestHelpers.MakeValidationCheck <FasElementValue, NonBreakingSpaceSymbolError>(value, constraints, PlainTextValidator.CheckRestrictedSymbols, val => val.Text = "\x00A0"); value.Text = AllChars.ToUpper(); TestHelpers.MakeValidationCheck <FasElementValue, ControlCharactersInTextError>(value, constraints, PlainTextValidator.CheckRestrictedSymbols, val => val.Text = "\r"); }
public void TestAllChecks(string text, int?maxLength, int?maxWordLength, int?maxLines, bool containsRestrictedSymbols = true, int expectedErrorsCount = 5) { IObjectElementValue value = new TextElementValue { Raw = text }; var constraints = new PlainTextElementConstraints { MaxLines = maxLines, MaxSymbols = maxLength, MaxSymbolsPerWord = maxWordLength }; TestHelpers.InternalTextChecksTest(AllChecks, containsRestrictedSymbols, expectedErrorsCount, value, constraints); value = new FasElementValue { Raw = "custom", Text = text }; TestHelpers.InternalTextChecksTest(AllChecks, containsRestrictedSymbols, expectedErrorsCount, value, constraints); }
public void TestAllChecks(string text, int?maxLength, int?maxWordLength, int?maxLines, bool containsRestrictedSymbols = true, int expectedErrorsCount = 5) { IObjectElementValue value = new TextElementValue { Raw = text }; var constraints = new FormattedTextElementConstraints { MaxLines = maxLines, MaxSymbols = maxLength, MaxSymbolsPerWord = maxWordLength }; TestHelpers.InternalTextChecksTest(AllChecks, containsRestrictedSymbols, expectedErrorsCount, value, constraints); // FasComment cannot be formatted: value = new FasElementValue { Raw = "custom", Text = text }; Assert.Throws <InvalidCastException>(() => TestHelpers.InternalTextChecksTest(AllChecks, containsRestrictedSymbols, expectedErrorsCount, value, constraints)); }
public void TestFasCommentCheckLength() { var value = new FasElementValue { Raw = "custom", Text = "text" }; var constraints = new PlainTextElementConstraints { MaxSymbols = 5 }; var error = TestHelpers.MakeValidationCheck <FasElementValue, ElementTextTooLongError>( value, constraints, PlainTextValidator.CheckLength, val => val.Text = "long text"); Assert.Equal(constraints.MaxSymbols, error.MaxLength); Assert.Equal(value.Text.Length, error.ActualLength); Assert.Equal(nameof(constraints.MaxSymbols), error.ErrorType); }
public void TestFasCommentCheckMaxLines() { const int MaxLines = 10; var value = new FasElementValue { Raw = "custom", Text = new string('\n', MaxLines - 1) }; var constraints = new PlainTextElementConstraints { MaxLines = MaxLines }; var error = TestHelpers.MakeValidationCheck <FasElementValue, TooManyLinesError>( value, constraints, PlainTextValidator.CheckLinesCount, val => val.Text = new string('\n', MaxLines)); Assert.Equal(MaxLines, error.MaxLinesCount); Assert.Equal(MaxLines + 1, error.ActualLinesCount); Assert.Equal(nameof(constraints.MaxLines), error.ErrorType); }
public void TestFasCommentCheckLongWords() { const int MaxSymbols = 4; var value = new FasElementValue { Raw = "custom", Text = new string('a', MaxSymbols) }; var constraints = new PlainTextElementConstraints { MaxSymbolsPerWord = MaxSymbols }; var error = TestHelpers.MakeValidationCheck <FasElementValue, ElementWordsTooLongError>( value, constraints, PlainTextValidator.CheckWordsLength, val => val.Text = new string('b', MaxSymbols + 1)); Assert.Equal(MaxSymbols, error.MaxWordLength); Assert.Equal(1, error.TooLongWords.Count); Assert.Equal(value.Text, error.TooLongWords.First()); Assert.Equal(nameof(constraints.MaxSymbolsPerWord), error.ErrorType); }