public void Serialize_Handles_Arrays()
        {
            // Arrange
            var type = ScalarClasses.ClassWithBarStringArrayProperty();

            // Act
            var result = _classUnderTest.Serialize(type);

            // Assert
            Assert.IsTrue(result.Contains("Bar = new System.String[]"));
        }
        public void Serialize_Handles_ValueTypes()
        {
            // Arrange
            var type = ScalarClasses.ClassWithBarStringProperty();

            // Act
            var result = _classUnderTest.Serialize(type);

            // Assert
            Assert.IsTrue(result.Contains("Bar = \"BarFooString1\""));
        }
        public void Serialize_Handles_Strings()
        {
            // Arrange
            var type = ScalarClasses.ClassWithBarStringProperty();

            // Act
            var result = _classUnderTest.Serialize(type);

            // Assert
            var expectedJson = @"{
  ""Bar"": ""BarFooString1""
}";

            Assert.AreEqual(expectedJson, result);
        }
        public void Serialize_Handles_StringArrays()
        {
            // Arrange
            var type = ScalarClasses.ClassWithBarStringArrayProperty();

            // Act
            var result = _classUnderTest.Serialize(type);

            // Assert
            var expectedJson = @"{
  ""Bar"": [
    ""ArrayElementTypeFooString1"",
    ""ArrayElementTypeFooString2"",
    ""ArrayElementTypeFooString3""
  ]
}";

            Assert.AreEqual(expectedJson, result);
        }