Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6882235
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T05:13:42+00:00 2026-05-27T05:13:42+00:00

If I have code like the following: public const string UNSPECIFIED_DATATYPE = 11; private

  • 0

If I have code like the following:

    public const string UNSPECIFIED_DATATYPE = "11";         
    private string SelectedValue = "11";

    public bool Validate(object sender, EventArgs eventArgs)
    {
        return IsValid();
    }

    private bool IsValid()
    {            
        return (SelectedValue != UNSPECIFIED_DATATYPE);
    }

The method signature is actually for an ASP.Net CustomValidatorControl. I have no scope to change this implementation.

SelectedValue will come from a list control and I want to at least test a positive and negative condition.

Ideally, something like:

    public void Test_When_SelectedValue_IS_UnSPecified_validate_Returns_False
    {            
        Assert.IsFalse(Validate(UNSPECIFIED_DATATYPE));
    }

Obviously, this is not possible due to the method signature of Validate().

How do I write clean and meaningful unit tests to check that the public Validate method with different simulated selected Values?

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T05:13:43+00:00Added an answer on May 27, 2026 at 5:13 am

    IsValid this method is private and not so good to test
    you can extract validation logic in separate class, and then delegate in CustomValidatorControl validation logic into this class. This is help you to test all logic in this class
    look at the following example

    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);
        }
    
    }
    

    and ther is tests for this class

        [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);
        }
    

    and the in method Validate you should write

            public bool Validate(object sender, EventArgs eventArgs)
        {
            return validator.IsValid();
        }
    

    SelectedValue also you sould map into Validator class

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

if i have following code : class Stand { public static const STAND_LIST:Array =
I have the following struct: public struct Declarations { public const string SchemaVersion =
I have code like the following in a UserControl: Protected Overrides Sub Render(ByVal writer
I have code that looks like the following, which works fine for displaying the
I have code that looks like the following: //unrelated code snipped resolver.reset(new tcp::resolver(iosvc)); tcp::resolver::query
I have code that looks like the following: <form id=MyForm name=MyForm method=post action=index.php> <input
I have a simple DOM code like the following <div> <div> </div> </div> I
I'm using SDL with FASM, and have code that's minimally like the following: format
I have code similar to the following with a URL like this... If I
Suppose I have a line of code that starts like the following: Func1(Func2(Func3 Is

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.