Пример #1
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            SwitcheoTokensList tokensList = new SwitcheoTokensList();

            if (reader.TokenType == JsonToken.StartObject)
            {
                JObject rootObject = JObject.Load(reader);

                tokensList.Tokens = new SwitcheoToken[rootObject.Children().Count()];
                int tabIndex = 0;

                foreach (JProperty token in rootObject.Children())
                {
                    var tokenName  = token.Name;
                    var tokenInfos = (JObject)token.Value;

                    var tokenHash       = tokenInfos.GetValue("hash");
                    var tokenDecimals   = tokenInfos.GetValue("decimals");
                    var isTradingActive = tokenInfos.GetValue("trading_active");

                    tokensList.Tokens[tabIndex] = new SwitcheoToken()
                    {
                        Symbol          = tokenName,
                        Id              = (string)tokenHash,
                        Precision       = !tokenDecimals.IsNullOrEmpty() ? (int)tokenDecimals : -1,
                        IsTradingActive = (bool)isTradingActive
                    };
                    tabIndex++;
                }
            }

            return(tokensList);
        }
Пример #2
0
        public void GetTokens_Should_RespondWithTokensArray()
        {
            // arrange
            var tokensList = new SwitcheoTokensList()
            {
                Tokens = SampleTokensList
            };

            var client = PrepareClient(JsonConvert.SerializeObject(tokensList));

            // act
            var result = client.GetTokens();

            // assert
            Assert.AreEqual(true, result.Success);
            Assert.IsTrue(Compare.PublicInstancePropertiesEqual(tokensList.Tokens[0], result.Data.Tokens[0]));
            Assert.IsTrue(Compare.PublicInstancePropertiesEqual(tokensList.Tokens[1], result.Data.Tokens[1]));
            Assert.IsTrue(Compare.PublicInstancePropertiesEqual(tokensList.Tokens[2], result.Data.Tokens[2]));
        }
Пример #3
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            writer.WriteStartObject();

            SwitcheoTokensList tokensList = (SwitcheoTokensList)value;

            foreach (SwitcheoToken token in tokensList.Tokens)
            {
                writer.WritePropertyName(token.Symbol);

                writer.WriteStartObject();
                writer.WritePropertyName("hash"); writer.WriteValue(token.Id);
                writer.WritePropertyName("decimals"); writer.WriteValue(token.Precision);
                writer.WritePropertyName("trading_active"); writer.WriteValue(token.IsTradingActive);
                writer.WriteEndObject();
            }

            writer.WriteEndObject();
        }