コード例 #1
0
            public void Should_Add_MemberScope_When_Member()
            {
                var builder = new SpecificationBuilder <MemberClass>();

                Predicate <string> isValid = c => true;

                var args = new[] { Arg.Text("test", "test123") };

                builder.Member(m => m.Property, m => m.Valid(isValid, "message", args));

                Assert.Single(builder.Commands);
                Assert.IsType <MemberScope <MemberClass, string> >(builder.Commands.Single());

                var memberScope = (MemberScope <MemberClass, string>)builder.Commands.Single();

                Assert.Null(memberScope.RuleSingleError);

                Assert.Equal("Property", memberScope.MemberPropertyInfo.Name);
                Assert.Equal(typeof(string), memberScope.MemberPropertyInfo.PropertyType);

                Assert.IsType <ValidRule <string> >(memberScope.MemberValidator.Rules.Single());

                var memberRule = (ValidRule <string>)memberScope.MemberValidator.Rules.Single();

                Assert.Same(isValid, memberRule.IsValid);
                Assert.Equal("message", memberRule.Error.Message);
                Assert.Same(args, memberRule.Error.Arguments);
                Assert.Null(memberRule.RuleSingleError);
            }
コード例 #2
0
            public void Should_AddMemberScope_When_Member_WithoutSpecification()
            {
                var builder = new SpecificationBuilder <MemberClass>();

                builder.Member(m => m.Property);

                Assert.IsType <MemberScope <MemberClass, string> >(builder.Commands.Single());

                var memberScope = (MemberScope <MemberClass, string>)builder.Commands.Single();

                Assert.Null(memberScope.RuleSingleError);

                Assert.Equal("Property", memberScope.MemberPropertyInfo.Name);
                Assert.Equal(typeof(string), memberScope.MemberPropertyInfo.PropertyType);

                Assert.False(memberScope.MemberValidator.IsOptional);
                Assert.Null(memberScope.MemberValidator.RequiredError);
                Assert.Empty(memberScope.MemberValidator.Rules);
            }
コード例 #3
0
            public void Should_ThrowException_When_Member_And_NullMemberSelector()
            {
                var builder = new SpecificationBuilder <MemberClass>();

                Assert.Throws <ArgumentNullException>(() => { builder.Member <string>(null); });
            }