コード例 #1
0
        public string ShouldFormatObjectAccordingToDensity(ObjectFormatOptions options)
        {
            var account = new Account(19, "John", "12-33-19", "66-18-23");

            var format = new ObjectFormat()
                         .AddFlags(options)
                         .ObjectBodyPrefixAndSuffix("<", ">")
                         .ObjectMemberNamePrefixAndSuffix("'", "'")
                         .ObjectMemberValuePrefixAndSuffix("\"", "\"")
                         .JoinMemberNameAndValueWith(":")
                         .JoinMembersWith(",");

            return(format.Compile(AccountMembers)(account));
        }
コード例 #2
0
        public void EmptyBuilder()
        {
            var format   = new ObjectFormat();
            var toString = format.Compile(AccountMembers);
            var defaultPrefixAndSuffix = ValueTuple.Create <string, string>(null, null);

            Assert.That(format.Options, Is.EqualTo((ObjectFormatOptions)0));
            Assert.That(format.MemberPrefixAndSuffix, Is.EqualTo(defaultPrefixAndSuffix));
            Assert.That(format.MemberSeparator, Is.EqualTo(null));
            Assert.That(format.ObjectPrefixAndSuffix, Is.EqualTo(defaultPrefixAndSuffix));
            Assert.That(format.MemberNamePrefixAndSuffix, Is.EqualTo(defaultPrefixAndSuffix));
            Assert.That(format.MemberValuePrefixAndSuffix, Is.EqualTo(defaultPrefixAndSuffix));

            Assert.That(toString(new Account(10, "James", "777")), Is.EqualTo("10James777"));
        }
コード例 #3
0
        public void ObjectFormatterShouldIncludeNullValuesWhenCorrespondingDensityFlagWasSet()
        {
            var format = new ObjectFormat()
                         .AddFlags(IncludeNullValues)
                         .AddFlags(IncludeMemberName)
                         .ObjectBodyPrefixAndSuffix("(", ")")
                         .JoinMemberNameAndValueWith(": ")
                         .JoinMembersWith(", ");

            var toString = format.Compile(AccountMembers);

            Assert.That(toString(new Account(15, null, null)), Is.EqualTo(
                            "(Id: 15, Name: null, Phones: null)"
                            ));
        }
コード例 #4
0
 /// <summary>
 /// Generates final <see cref="object.ToString"/> function.
 /// </summary>
 /// <returns>Function returning string representation of <typeparamref name="TTarget"/> object.</returns>
 public Func <TTarget, string> Build()
 {
     return(_objectFormat.Compile(GetMemberContexts()).ToSpecific <object, TTarget, string>());
 }
コード例 #5
0
        public void ObjectFormatterFactoryMethodShouldThrowArgumentNullExceptionWhenSequenceOfFormattingMembersIsNull()
        {
            var factory = new ObjectFormat();

            Assert.Throws <ArgumentNullException>(() => factory.Compile(null));
        }