public void ReturnRightString_WhenDefaultPrintToString() { var expectedResult = $"Person\r\n\tId = {SecondPerson.Id}\r\n\tName = Martin\r\n\tHeight = {SecondPerson.Height}\r\n\tAge = 18\r\n\tParents = empty\r\n"; SecondPerson.PrintToString().Should().Be(expectedResult); }
public void Demo() { var printer = ObjectPrinter.For <Person>() //1. Исключить из сериализации свойства определенного типа .Exclude(typeof(string)) //2. Указать альтернативный способ сериализации для определенного типа .Printing <string>().Using(x => x + ".0") //3. Для всех типов, имеющих культуру, есть возможность ее указать .SetCultureInfo <int>(CultureInfo.CurrentCulture) //4. Настроить сериализацию конкретного свойства .SelectProperty(properties => properties.Name).Using(name => $"<em>{name}</em>") //5. Настроить обрезание строковых свойств (метод должен быть виден только для строковых свойств) .SelectProperty(properties => properties.Name).Trimmed(2) //6. Исключить из сериализации конкретного свойства .Exclude(properties => properties.Id); var peronSerialization = printer.PrintToString(Person); //7. Синтаксический сахар в виде метода расширения, сериализующего по-умолчанию var secondPeronSerialization = SecondPerson.PrintToString(); //8. ...с конфигурированием var thirdPeronSerialization = ThirdPerson.PrintToString(config => config.SelectProperty(x => x.Name).Trimmed(4).Exclude(x => x.Id)); }
protected void Push(int lineno, int value) { CheckNullCharacter(lineno); SecondPerson.Push(lineno, value); }
protected void Pop(int lineno) { CheckNullCharacter(lineno); SecondPerson.Pop(lineno); }