public void GroupTokenIsNotNullWhenGroupsChangeToEmpty() { var response = new PersistentResponse(); var groupSet = new DiffSet<string>(new string[] { "b", "d" }); groupSet.DetectChanges(); groupSet.Remove("b"); groupSet.Remove("d"); var serializer = new Mock<IJsonSerializer>(); HashSet<string> results = null; serializer.Setup(m => m.Serialize(It.IsAny<object>(), It.IsAny<TextWriter>())) .Callback<object, TextWriter>((obj, tw) => { results = new HashSet<string>((IEnumerable<string>)obj); var jsonNet = new JsonNetSerializer(); jsonNet.Serialize(obj, tw); }); var protectedData = new Mock<IProtectedData>(); protectedData.Setup(m => m.Protect(It.IsAny<string>(), It.IsAny<string>())) .Returns<string, string>((value, purpose) => value); protectedData.Setup(m => m.Unprotect(It.IsAny<string>(), It.IsAny<string>())) .Returns<string, string>((value, purpose) => value); Connection.PopulateResponseState(response, groupSet, serializer.Object, protectedData.Object, connectionId: "myconnection"); Assert.NotNull(response.GroupsToken); var parts = response.GroupsToken.Split(new[] { ':' }, 2); Assert.Equal(2, parts.Length); Assert.Equal("myconnection", parts[0]); Assert.Equal(0, results.Count); }
public void GroupTokenIsNotNullWhenGroupsChange() { var response = new PersistentResponse(); var groupSet = new DiffSet<string>(new string[] { "a", "b", "c", "d" }); groupSet.GetDiff(); groupSet.Add("g"); var serializer = new Mock<IJsonSerializer>(); HashSet<string> results = null; serializer.Setup(m => m.Serialize(It.IsAny<object>(), It.IsAny<TextWriter>())) .Callback<object, TextWriter>((obj, tw) => { results = new HashSet<string>((IEnumerable<string>)obj); var jsonNet = new JsonNetSerializer(); jsonNet.Serialize(obj, tw); }); var protectedData = new Mock<IProtectedData>(); protectedData.Setup(m => m.Protect(It.IsAny<string>(), It.IsAny<string>())) .Returns<string, string>((value, purpose) => value); protectedData.Setup(m => m.Unprotect(It.IsAny<string>(), It.IsAny<string>())) .Returns<string, string>((value, purpose) => value); Connection.PopulateResponseState(response, groupSet, serializer.Object, protectedData.Object); Assert.NotNull(response.GroupsToken); Assert.True(results.Contains("a")); Assert.True(results.Contains("b")); Assert.True(results.Contains("c")); Assert.True(results.Contains("d")); Assert.True(results.Contains("g")); }
public void SerializeInterceptsIJsonWritable() { // Arrange var serializer = new JsonNetSerializer(); var sw = new StringWriter(); var value = new Mock<IJsonWritable>(); value.Setup(m => m.WriteJson(It.IsAny<TextWriter>())) .Callback<TextWriter>(tw => tw.Write("Custom")); // Act serializer.Serialize(value.Object, sw); // Assert Assert.Equal("Custom", sw.ToString()); }