diff --git a/Source/AssetRipper.Yaml.Tests/FlowMappingTests.cs b/Source/AssetRipper.Yaml.Tests/FlowMappingTests.cs index 551d52a37..57fd7ec21 100644 --- a/Source/AssetRipper.Yaml.Tests/FlowMappingTests.cs +++ b/Source/AssetRipper.Yaml.Tests/FlowMappingTests.cs @@ -7,13 +7,11 @@ public static class FlowMappingTests [Test] public static void Vector2FlowMappingTest() { - StringWriter writer = new(); - Emitter emitter = new Emitter(writer, false); - YamlMappingNode mappingNode = new YamlMappingNode(MappingStyle.Flow); - mappingNode.Add("x", 2); - mappingNode.Add("y", 3); - mappingNode.Emit(emitter); - string output = writer.ToString(); - Assert.That(output, Is.EqualTo("{x: 2, y: 3}")); + YamlMappingNode mappingNode = new(MappingStyle.Flow) + { + { "x", 2 }, + { "y", 3 } + }; + Assert.That(mappingNode.EmitToString(), Is.EqualTo("{x: 2, y: 3}")); } } diff --git a/Source/AssetRipper.Yaml.Tests/YamlScalarNodeTests.cs b/Source/AssetRipper.Yaml.Tests/YamlScalarNodeTests.cs index 48214866a..7cb50249f 100644 --- a/Source/AssetRipper.Yaml.Tests/YamlScalarNodeTests.cs +++ b/Source/AssetRipper.Yaml.Tests/YamlScalarNodeTests.cs @@ -14,7 +14,7 @@ public class YamlScalarNodeTests Assert.That(node.Value, Is.EqualTo("\0")); Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar)); Assert.That(node.Style, Is.EqualTo(ScalarStyle.DoubleQuoted)); - Assert.That(ToString(node), Is.EqualTo("\"\\u0000\"")); + Assert.That(node.EmitToString(), Is.EqualTo("\"\\u0000\"")); } } @@ -28,7 +28,7 @@ public class YamlScalarNodeTests Assert.That(node.Value, Is.EqualTo(someText)); Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar)); Assert.That(node.Style, Is.EqualTo(ScalarStyle.DoubleQuoted)); - Assert.That(ToString(node), Is.EqualTo("\"Some text\\u0003\"")); + Assert.That(node.EmitToString(), Is.EqualTo("\"Some text\\u0003\"")); } } @@ -42,7 +42,7 @@ public class YamlScalarNodeTests Assert.That(node.Value, Is.EqualTo(asciiCharacters)); Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar)); Assert.That(node.Style, Is.EqualTo(ScalarStyle.Plain)); - Assert.That(ToString(node), Is.EqualTo(asciiCharacters)); + Assert.That(node.EmitToString(), Is.EqualTo(asciiCharacters)); } } @@ -66,15 +66,7 @@ public class YamlScalarNodeTests Assert.That(node.Value, Is.EqualTo(expected)); Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar)); Assert.That(node.Style, Is.EqualTo(ScalarStyle.Plain)); - Assert.That(ToString(node), Is.EqualTo(expected)); + Assert.That(node.EmitToString(), Is.EqualTo(expected)); } } - - private static string ToString(YamlNode node) - { - StringWriter writer = new(); - Emitter emitter = new(writer, false); - node.Emit(emitter); - return writer.ToString(); - } } diff --git a/Source/AssetRipper.Yaml/Emitter.cs b/Source/AssetRipper.Yaml/Emitter.cs index da4805cc6..3827087d0 100644 --- a/Source/AssetRipper.Yaml/Emitter.cs +++ b/Source/AssetRipper.Yaml/Emitter.cs @@ -6,7 +6,8 @@ internal sealed class Emitter { public Emitter(TextWriter writer, bool formatKeys) { - m_stream = writer ?? throw new ArgumentNullException(nameof(writer)); + ArgumentNullException.ThrowIfNull(writer); + m_stream = writer; IsFormatKeys = formatKeys; } @@ -233,7 +234,7 @@ internal sealed class Emitter } public bool IsFormatKeys { get; } - public bool IsKey { get; set; } + internal bool IsKey { get; set; } private readonly TextWriter m_stream; diff --git a/Source/AssetRipper.Yaml/Properties/AssemblyInfo.cs b/Source/AssetRipper.Yaml/Properties/AssemblyInfo.cs deleted file mode 100644 index f7513a19c..000000000 --- a/Source/AssetRipper.Yaml/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System.Runtime.CompilerServices; - -[assembly: InternalsVisibleTo("AssetRipper.Yaml.Tests")] diff --git a/Source/AssetRipper.Yaml/YAMLNode.cs b/Source/AssetRipper.Yaml/YAMLNode.cs index c00e3e9b8..71fab5b35 100644 --- a/Source/AssetRipper.Yaml/YAMLNode.cs +++ b/Source/AssetRipper.Yaml/YAMLNode.cs @@ -30,6 +30,14 @@ public abstract class YamlNode } } + public string EmitToString(bool formatKeys = false) + { + using StringWriter writer = new(); + Emitter emitter = new(writer, formatKeys); + Emit(emitter); + return writer.ToString(); + } + public abstract YamlNodeType NodeType { get; } public abstract bool IsMultiline { get; } public abstract bool IsIndent { get; }