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"));
        }
示例#3
0
 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"));
 }
示例#4
0
        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));
 }