IsValid этот метод является частным и не очень хорош для тестирования, вы можете извлечь логику проверки в отдельный класс, а затем делегировать логику проверки CustomValidatorControl в этот класс.Это поможет вам проверить всю логику в этом классе, посмотрите на следующий пример
public class SelectedValueValidator
{
public const string UNSPECIFIED_DATATYPE = "11";
private string selectedValue = "11";
public string SelectedValue
{
get { return selectedValue; }
set { selectedValue = value; }
}
public bool IsValid()
{
return (SelectedValue != UNSPECIFIED_DATATYPE);
}
}
, а также тесты для этого класса
[Test]
public void IsValid_SelectedValueDifferent_ReturnTrue()
{
//Arrange
var validator = new SelectedValueValidator { SelectedValue = "123" };
//Act
bool result = validator.IsValid();
//Assert
Assert.That(result, Is.True);
}
[Test]
public void IsValid_SelectedValueIsTheSame_ReturnFalse()
{
//Arrange
var validator = new SelectedValueValidator ();
//Act
bool result = validator.IsValid();
//Assert
Assert.That(result, Is.False);
}
и метод in Validate, который вы должны написать
public bool Validate(object sender, EventArgs eventArgs)
{
return validator.IsValid();
}
SelectedValue также вы должны отобразить в класс Validator