public void GeneratorReturnsNameWhenTypeLacksGenderTest()
        {
            var person = new PersonWithoutGender();
            var buildChain = new LinkedList<object>();

            buildChain.AddFirst(person);

            var target = new FirstNameValueGenerator();

            var actual = (string) target.Generate(typeof(string), "FirstName", buildChain);

            TestData.People.Any(x => x.FirstName == actual).Should().BeTrue();
        }
        public void GeneratorReturnsMaleNameWhenGenderIsMaleTest()
        {
            var person = new Person
            {
                Gender = Gender.Male
            };
            var buildChain = new LinkedList<object>();

            buildChain.AddFirst(person);

            var target = new FirstNameValueGenerator();

            var actual = (string) target.Generate(typeof(string), "FirstName", buildChain);

            TestData.Males.Any(x => x.FirstName == actual).Should().BeTrue();
        }
        public void PriorityReturnsHigherPriorityThanStringValidatorTest()
        {
            var target = new FirstNameValueGenerator();
            var other = new StringValueGenerator();

            target.Priority.Should().BeGreaterThan(other.Priority);
        }