private void CreatePostRequestModelMainPart(string quote, string market, EBuySell recommend, string price, EAccessMode access, string content, string forecast, string file) { if (string.IsNullOrWhiteSpace(file) && string.IsNullOrWhiteSpace(content)) { throw new ArgumentNullException(nameof(file) + " or " + nameof(content)); } if (recommend == EBuySell.None || access == EAccessMode.None || string.IsNullOrWhiteSpace(price) || string.IsNullOrWhiteSpace(forecast) || string.IsNullOrWhiteSpace(quote)) { throw new ArgumentNullException(nameof(recommend) + " or " + nameof(access) + " or " + nameof(price) + " or " + nameof(forecast) + " or " + nameof(quote)); } Quote = quote?.Replace("/", string.Empty); Recommend = recommend == EBuySell.None ? string.Empty : recommend.ToString(); Price = price; Forecast = forecast; }
public void PerformQueryTest(string quote, string market, EBuySell recommend, string price, EAccessMode access, string content, string forecast, string file) { CreatePostRequestModel model = new CreatePostRequestModel(quote, market, recommend, price, access, content, forecast, file); var actual = model.PerformQuery(); foreach (var item in typeof(CreatePostRequestModel).GetRuntimeMethods()) { var res = item.GetParameters(); if (item.Name.Equals("GetStringForecastTime") && item.GetParameters().First().ParameterType == typeof(string)) { forecast = item.Invoke(model, new object[] { forecast }) as string; break; } } var expected = new JObject { ["quote"] = quote, ["market"] = market, ["recommend"] = recommend == EBuySell.None ? string.Empty : recommend.ToString(), ["access"] = access == EAccessMode.None ? string.Empty : access.ToString(), ["forecast"] = forecast }; if (!string.IsNullOrWhiteSpace(price)) { expected["price"] = price; } if (!string.IsNullOrWhiteSpace(file)) { expected["image"] = "data:image/gif;base64," + file; } if (!string.IsNullOrWhiteSpace(content)) { expected["content"] = content; } Assert.IsTrue(JToken.DeepEquals(actual, expected)); }
public static string GetLocaleStringFromEnum(this EBuySell recommend) { var result = Locale.Localization.Lang.GetType().GetRuntimeProperty(recommend.ToString()).GetValue(Locale.Localization.Lang) as string; return(result); }