public void CanSerializeStringProperty(StringPropertyDesc p) { var value = "x"; var user = p.Setter(User.Builder(key))(value).Build(); var json = LdValue.Parse(LdJsonSerialization.SerializeObject(user)); Assert.Equal(LdValue.Of(value), json.Get(p.Name)); }
public void CustomAttributesAreSerialized() { LdValue value1 = LdValue.Of("hi"); LdValue value2 = LdValue.Of(2); var user = User.Builder(key).Custom("name1", value1).Custom("name2", value2).Build(); var json = LdValue.Parse(LdJsonSerialization.SerializeObject(user)); Assert.Equal(LdValue.Of("hi"), json.Get("custom").Get("name1")); Assert.Equal(LdValue.Of(2), json.Get("custom").Get("name2")); }
public void TestJsonSerialization() { VerifySerializeAndParse(LdValue.Null, "null"); VerifySerializeAndParse(aTrueBoolValue, "true"); VerifySerializeAndParse(LdValue.Of(false), "false"); VerifySerializeAndParse(anIntValue, someInt.ToString()); VerifySerializeAndParse(aFloatValue, someFloat.ToString()); VerifySerializeAndParse(anArrayValue, "[3]"); VerifySerializeAndParse(anObjectValue, "{\"1\":\"x\"}"); Assert.Throws <JsonException>(() => LdJsonSerialization.DeserializeObject <LdValue>("nono")); Assert.Throws <JsonException>(() => LdValue.Parse("nono")); }
private void VerifySerializeAndParse(LdValue value, string expectedJson) { var json1 = LdJsonSerialization.SerializeObject(value); var json2 = value.ToJsonString(); Assert.Equal(expectedJson, json1); Assert.Equal(json1, json2); var parsed1 = LdJsonSerialization.DeserializeObject <LdValue>(expectedJson); var parsed2 = LdValue.Parse(expectedJson); Assert.Equal(value, parsed1); Assert.Equal(value, parsed2); }
public void PrivateAttributeNamesAreSerialized() { var user = User.Builder(key) .Name("user-name").AsPrivateAttribute() .Email("*****@*****.**").AsPrivateAttribute() .Build(); var json = LdValue.Parse(LdJsonSerialization.SerializeObject(user)); var names = new List <string>(json.Get("privateAttributeNames").AsList(LdValue.Convert.String)); names.Sort(); Assert.Equal(new List <string> { "email", "name" }, names); }
public void TestBigSegmentsStatusSerializationDeserialization() { foreach (var test in new KeyValuePair <BigSegmentsStatus, string>[] { new KeyValuePair <BigSegmentsStatus, string>(BigSegmentsStatus.Healthy, "HEALTHY"), new KeyValuePair <BigSegmentsStatus, string>(BigSegmentsStatus.Stale, "STALE"), new KeyValuePair <BigSegmentsStatus, string>(BigSegmentsStatus.NotConfigured, "NOT_CONFIGURED"), new KeyValuePair <BigSegmentsStatus, string>(BigSegmentsStatus.StoreError, "STORE_ERROR"), }) { var reason = EvaluationReason.FallthroughReason.WithBigSegmentsStatus(test.Key); var reasonJson = LdJsonSerialization.SerializeObject(reason); Assert.Equal(LdValue.Parse(reasonJson).Get("bigSegmentsStatus"), LdValue.Of(test.Value)); var reason1 = LdJsonSerialization.DeserializeObject <EvaluationReason>(reasonJson); Assert.Equal(test.Key, reason1.BigSegmentsStatus); } }
public void TestErrorKindSerializationDeserialization() { foreach (var test in new KeyValuePair <EvaluationErrorKind, string>[] { new KeyValuePair <EvaluationErrorKind, string>(EvaluationErrorKind.ClientNotReady, "CLIENT_NOT_READY"), new KeyValuePair <EvaluationErrorKind, string>(EvaluationErrorKind.Exception, "EXCEPTION"), new KeyValuePair <EvaluationErrorKind, string>(EvaluationErrorKind.FlagNotFound, "FLAG_NOT_FOUND"), new KeyValuePair <EvaluationErrorKind, string>(EvaluationErrorKind.MalformedFlag, "MALFORMED_FLAG"), new KeyValuePair <EvaluationErrorKind, string>(EvaluationErrorKind.UserNotSpecified, "USER_NOT_SPECIFIED"), new KeyValuePair <EvaluationErrorKind, string>(EvaluationErrorKind.WrongType, "WRONG_TYPE"), }) { var reason = EvaluationReason.ErrorReason(test.Key); var reasonJson = LdJsonSerialization.SerializeObject(reason); Assert.Equal(LdValue.Parse(reasonJson).Get("errorKind"), LdValue.Of(test.Value)); var reason1 = LdJsonSerialization.DeserializeObject <EvaluationReason>(reasonJson); Assert.Equal(test.Key, reason1.ErrorKind); } }
private void AssertJsonEqual(string expectedString, string actualString) { Assert.Equal(LdValue.Parse(expectedString), LdValue.Parse(actualString)); }
public static void AssertJsonEquals(string expected, string actual) { Assert.Equal(LdValue.Parse(expected), LdValue.Parse(actual)); }