public void SelectorDescriptorModel_ShouldBeSerializable_WhenJSONSerializeIsUsed() { // Given var input = new SelectionDescriptorModel { Name = "relative-child-selector", SelectorType = "combinator", Value = "", Type = "CodeSharper.Core.Nodes.Combinators.RelativeNodeCombinator" }; var memoryStream = new MemoryStream(); var streamReader = new StreamReader(memoryStream); var serializer = new DataContractJsonSerializer(typeof(SelectionDescriptorModel)); // When serializer.WriteObject(memoryStream, input); memoryStream.Position = 0; var result = streamReader.ReadToEnd(); // Then Assert.That(result, Is.Not.Null.And.Not.Empty); Assert.That(result, Is.EqualTo("{\"arguments\":null,\"name\":\"relative-child-selector\",\"selector-type\":\"combinator\",\"type\":\"CodeSharper.Core.Nodes.Combinators.RelativeNodeCombinator\",\"value\":\"\"}")); }