Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.3 KiB
88 lines
3.3 KiB
#region Copyright notice and license |
|
|
|
// Protocol Buffers - Google's data interchange format |
|
// Copyright 2008 Google Inc. All rights reserved. |
|
// |
|
// Use of this source code is governed by a BSD-style |
|
// license that can be found in the LICENSE file or at |
|
// https://developers.google.com/open-source/licenses/bsd |
|
|
|
#endregion |
|
|
|
using Google.Protobuf.Reflection; |
|
using NUnit.Framework; |
|
|
|
// For WrapInQuotes |
|
|
|
namespace Google.Protobuf |
|
{ |
|
public class JsonFormatterSettingsTest |
|
{ |
|
[Test] |
|
public void WithIndentation() |
|
{ |
|
var settings = JsonFormatter.Settings.Default.WithIndentation("\t"); |
|
Assert.AreEqual("\t", settings.Indentation); |
|
} |
|
|
|
[Test] |
|
public void WithTypeRegistry() |
|
{ |
|
var typeRegistry = TypeRegistry.Empty; |
|
var settings = JsonFormatter.Settings.Default.WithTypeRegistry(typeRegistry); |
|
Assert.AreEqual(typeRegistry, settings.TypeRegistry); |
|
} |
|
|
|
[Test] |
|
public void WithFormatDefaultValues() |
|
{ |
|
var settingsWith = JsonFormatter.Settings.Default.WithFormatDefaultValues(true); |
|
Assert.AreEqual(true, settingsWith.FormatDefaultValues); |
|
|
|
var settingsWithout = JsonFormatter.Settings.Default.WithFormatDefaultValues(false); |
|
Assert.AreEqual(false, settingsWithout.FormatDefaultValues); |
|
} |
|
|
|
[Test] |
|
public void WithFormatEnumsAsIntegers() |
|
{ |
|
var settingsWith = JsonFormatter.Settings.Default.WithFormatEnumsAsIntegers(true); |
|
Assert.AreEqual(true, settingsWith.FormatEnumsAsIntegers); |
|
|
|
var settingsWithout = JsonFormatter.Settings.Default.WithFormatEnumsAsIntegers(false); |
|
Assert.AreEqual(false, settingsWithout.FormatEnumsAsIntegers); |
|
} |
|
|
|
[Test] |
|
public void WithMethodsPreserveExistingSettings() |
|
{ |
|
var typeRegistry = TypeRegistry.Empty; |
|
var baseSettings = JsonFormatter.Settings.Default |
|
.WithIndentation("\t") |
|
.WithFormatDefaultValues(true) |
|
.WithFormatEnumsAsIntegers(true) |
|
.WithTypeRegistry(typeRegistry) |
|
.WithPreserveProtoFieldNames(true); |
|
|
|
var settings1 = baseSettings.WithIndentation("\t"); |
|
var settings2 = baseSettings.WithFormatDefaultValues(true); |
|
var settings3 = baseSettings.WithFormatEnumsAsIntegers(true); |
|
var settings4 = baseSettings.WithTypeRegistry(typeRegistry); |
|
var settings5 = baseSettings.WithPreserveProtoFieldNames(true); |
|
|
|
AssertAreEqual(baseSettings, settings1); |
|
AssertAreEqual(baseSettings, settings2); |
|
AssertAreEqual(baseSettings, settings3); |
|
AssertAreEqual(baseSettings, settings4); |
|
AssertAreEqual(baseSettings, settings5); |
|
} |
|
|
|
private static void AssertAreEqual(JsonFormatter.Settings settings, JsonFormatter.Settings other) |
|
{ |
|
Assert.AreEqual(settings.Indentation, other.Indentation); |
|
Assert.AreEqual(settings.FormatDefaultValues, other.FormatDefaultValues); |
|
Assert.AreEqual(settings.FormatEnumsAsIntegers, other.FormatEnumsAsIntegers); |
|
Assert.AreEqual(settings.TypeRegistry, other.TypeRegistry); |
|
} |
|
} |
|
}
|
|
|