public static MooCakesAndStuffWithEncodedGraphData From(TestDeepEqualityTester.MooCakesAndStuff moo) { var result = new MooCakesAndStuffWithEncodedGraphData(); foreach (var propertyInfo in _props) { var match = _moreProps.First(pi => pi.Name == propertyInfo.Name); var srcVal = match.GetValue(moo); propertyInfo.SetValue(result, srcVal); } result.EnkiEnki = $"data:application/json;base64,{Convert.ToBase64String(JsonConvert.SerializeObject(moo.WubWubs).AsBytes())}"; return(result); }
public void ShouldReturnTrueForCaseInWild() { // Arrange var original = GetRandom <MooCakesAndStuff>(); var encoded = MooCakesAndStuffWithEncodedGraphData.From(original); // Pre-Assert PropertyAssert.AreDeepEqual(original.AuthorData, encoded.AuthorData); PropertyAssert.AreDeepEqual(original.SomeOtherData, encoded.SomeOtherData); // Act var decoded = encoded.Decode(); // Assert PropertyAssert.AreDeepEqual(decoded.AuthorData, original.AuthorData); PropertyAssert.AreDeepEqual(decoded.SomeOtherData, original.SomeOtherData); PropertyAssert.AreDeepEqual(decoded.WubWubs, original.WubWubs); }
public void WildCaseExactReplica() { // Arrange var thang = GetRandom <MooCakesAndStuff>(); var encoded = new MooCakesAndStuffWithEncodedGraphData(); thang.CopyPropertiesTo(encoded); encoded.EnkiEnki = DataUriFor(thang.WubWubs); encoded.WubWubs = null; // Pre-assert // Act var result = encoded.Decode(); // Assert PropertyAssert.AreDeepEqual(result, thang); }