public void PerformQueryTest(EAccessMode access, string content, string image) { var model = new UpdatePostRequestModel("id", access, content, image); var actual = model.PerformQuery(); var expected = new JObject { ["post"] = new JObject { ["access"] = access == EAccessMode.None ? string.Empty : access.ToString(), ["content"] = content, ["image"] = !string.IsNullOrWhiteSpace(image) ? "data:image/gif;base64," + image : string.Empty } }; Assert.IsTrue(JToken.DeepEquals(actual, expected)); }
public CreateSimplePostRequestModel(string market, EAccessMode access, string content, string image) { if (string.IsNullOrWhiteSpace(image) && string.IsNullOrWhiteSpace(content)) { throw new ArgumentNullException(nameof(content) + " or " + nameof(image)); } if (access == EAccessMode.None) { throw new ArgumentNullException(nameof(access)); } Market = market; Content = content; Image = image; Access = access.ToString(); ApiPath = "/api/v3/posts"; Method = ERestCommands.POST; ResponseModule = EResponseModule.CreatePost; }
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 void PerformQueryTest(string market, EAccessMode access, string content, string image) { var model = new CreateSimplePostRequestModel(market, access, content, image); var actual = model.PerformQuery(); var expected = new JObject { ["market"] = market, ["access"] = access == EAccessMode.None ? string.Empty : access.ToString() }; if (!string.IsNullOrWhiteSpace(image)) { expected["image"] = "data:image/gif;base64," + image; } if (!string.IsNullOrWhiteSpace(content)) { expected["content"] = content; } Assert.IsTrue(JToken.DeepEquals(actual, expected)); }
public UpdatePostRequestModel(string id, EAccessMode access, string content, string image) { if (string.IsNullOrWhiteSpace(image) && string.IsNullOrWhiteSpace(content)) { throw new ArgumentNullException(nameof(content) + " or " + nameof(image)); } if (string.IsNullOrWhiteSpace(id)) { throw new ArgumentNullException(nameof(id)); } if (access == EAccessMode.None) { throw new ArgumentNullException(nameof(access)); } Content = content; Image = image; Access = access.ToString(); ApiPath = "/api/v3/posts/" + id; Method = ERestCommands.PUT; }
public static string GetLocaleStringFromEnum(this EAccessMode recommend) { var result = Locale.Localization.Lang.GetType().GetRuntimeProperty(recommend.ToString()).GetValue(Locale.Localization.Lang) as string; return(result); }