public void WhenGivenNullStringToDeserializeAsStringExpectArgumentNullExceptionThrown()
        {
            // arrange
            const string given = null;

            // act
            var converter = new JsonNetConverter();

            // assert
            Assert.Throws <ArgumentNullException>(() => converter.Deserialize <string>(given));
        }
        public void WhenGivenNullObjectToSerializeExpectNullStringResult()
        {
            // arrange
            const object given    = null;
            const string expected = null;

            // act
            var converter = new JsonNetConverter();
            var actual    = converter.Serialize(given);

            // assert
            Assert.IsNull(expected);
        }
        public void WhenGivenEmptyStringToDeserializeAsStringExpectNullStringResult()
        {
            // arrange
            const string given    = "";
            const string expected = null;

            // act
            var converter = new JsonNetConverter();
            var actual    = converter.Deserialize <string>(given);

            // assert
            Assert.IsNull(expected);
        }
        public void WhenGivenJsonStringToDeserializeAsStringExpectEmptyStringResult()
        {
            // arrange
            const string given    = "\"\"";
            const string expected = "";

            // act
            var converter = new JsonNetConverter();
            var actual    = converter.Deserialize <string>(given);

            // assert
            Assert.IsNotNull(expected);
            Assert.AreEqual(expected: expected, actual: actual);
        }
        protected override async Task <OperationResult <T> > CreateResult <T>(HttpResponseMessage response, CancellationToken token)
        {
            if (response.IsSuccessStatusCode)
            {
                var json = await response.Content.ReadAsStringAsync();

                var jObject = JsonNetConverter.Deserialize <JObject>(json);
                var type    = typeof(T);
                var mNames  = GetPropertyNames(type);
                var jNames  = jObject.Children().Select(jtoken => ToTitleCase(jtoken.Path)).ToArray();

                var msg = new List <string>();
                foreach (var pName in jNames)
                {
                    if (!mNames.Contains(pName))
                    {
                        if (pName == "Count" || pName == "Offset" || pName == "TotalCount")
                        {
                            Console.WriteLine($"Warning: Missing in model {pName}");
                        }
                        else
                        {
                            msg.Add($"Missing in model {pName}");
                        }
                    }
                }

                foreach (var pName in mNames)
                {
                    if (!jNames.Contains(pName))
                    {
                        if (pName == "Count" || pName == "Offset" || pName == "TotalCount")
                        {
                            Console.WriteLine($"Warning: Missing in model {pName}");
                        }
                        else
                        {
                            msg.Add($"Missing in json {pName}");
                        }
                    }
                }

                Assert.IsFalse(msg.Any(), $"Some properties ({msg.Count}) was missed! {Environment.NewLine} {string.Join(Environment.NewLine, msg)}");
            }
            return(await base.CreateResult <T>(response, token));
        }
Beispiel #6
0
        static ServerResponseTests()
        {
            var converter = new JsonNetConverter();

            Gateway = new Dictionary <KnownChains, BaseServerClient>
            {
                { KnownChains.Steem, new StubServerClient(converter, IsDev ? Constants.SteemUrlQa : Constants.SteemUrl) },
                { KnownChains.Golos, new StubServerClient(converter, IsDev ? Constants.GolosUrlQa : Constants.GolosUrl) },
            };

            Users = new Dictionary <KnownChains, UserInfo>
            {
                { KnownChains.Steem, new UserInfo {
                      Login = "******", PostingKey = ConfigurationManager.AppSettings["SteemWif"]
                  } },
                { KnownChains.Golos, new UserInfo {
                      Login = "******", PostingKey = ConfigurationManager.AppSettings["GolosWif"]
                  } },
            };
        }
Beispiel #7
0
 public SteemClient(JsonNetConverter jsonConverter) : base(jsonConverter)
 {
     _operationManager = new OperationManager();
 }
Beispiel #8
0
 protected BaseDitchClient(JsonNetConverter jsonConverter)
 {
     JsonConverter  = jsonConverter;
     SyncConnection = new object();
 }
 public ExtendedHttpClient()
 {
     JsonNetConverter             = new JsonNetConverter();
     MaxResponseContentBufferSize = 2560000;
 }