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)); }
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")); }
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)" )); }
/// <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>()); }
public void ObjectFormatterFactoryMethodShouldThrowArgumentNullExceptionWhenSequenceOfFormattingMembersIsNull() { var factory = new ObjectFormat(); Assert.Throws <ArgumentNullException>(() => factory.Compile(null)); }