public void DoesNotAddEntries_IfNoErrorsArePresent() { // Arrange var modelState = new ModelStateDictionary(); modelState.Add( "key1", new ModelState()); modelState.Add( "key2", new ModelState()); // Act var serializableError = new SerializableError(modelState); // Assert Assert.Equal(0, serializableError.Count); }
public void ConvertsModelState_To_Dictionary() { // Arrange var modelState = new ModelStateDictionary(); modelState.AddModelError("key1", "Test Error 1"); modelState.AddModelError("key1", "Test Error 2"); modelState.AddModelError("key2", "Test Error 3"); // Act var serializableError = new SerializableError(modelState); // Assert var arr = Assert.IsType <string[]>(serializableError["key1"]); Assert.Equal("Test Error 1", arr[0]); Assert.Equal("Test Error 2", arr[1]); Assert.Equal("Test Error 3", (serializableError["key2"] as string[])[0]); }
public void DoesNotAddEntries_IfNoErrorsArePresent() { // Arrange var modelState = new ModelStateDictionary(); modelState.Add( "key1", new ModelState() { Value = new ValueProviderResult("foo", "foo", CultureInfo.InvariantCulture) }); modelState.Add( "key2", new ModelState() { Value = new ValueProviderResult("bar", "bar", CultureInfo.InvariantCulture) }); // Act var serializableError = new SerializableError(modelState); // Assert Assert.Equal(0, serializableError.Count); }
public void WriteXml_WritesValidXml() { // Arrange var modelState = new ModelStateDictionary(); modelState.AddModelError("key1", "Test Error 1"); modelState.AddModelError("key1", "Test Error 2"); modelState.AddModelError("key2", "Test Error 3"); var serializableError = new SerializableError(modelState); var outputStream = new MemoryStream(); // Act using (var xmlWriter = XmlWriter.Create(outputStream)) { var dataContractSerializer = new DataContractSerializer(typeof(SerializableError)); dataContractSerializer.WriteObject(xmlWriter, serializableError); } outputStream.Position = 0; var res = new StreamReader(outputStream, Encoding.UTF8).ReadToEnd(); // Assert Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<Error><key1>Test Error 1 Test Error 2</key1><key2>Test Error 3</key2></Error>", res); }