private bool CheckFields(string price, EBuySell recommend, EAccessMode access, string tool, EForecastTime timePeriod, string comment, string img, out bool isSimple) { bool isFieldsValid = true; isSimple = true; bool commentState = !string.IsNullOrWhiteSpace(comment); if (IsBuySellSelected(recommend) || IsForecastTimeSelected(timePeriod) || IsToolSelected(tool)) { if (!(IsBuySellSelected(recommend) && IsForecastTimeSelected(timePeriod) && IsToolSelected(tool) && IsAccessModeSelected(access) && !string.IsNullOrWhiteSpace(price))) { BuySellSelected(recommend); ForecastTimeSelected(timePeriod); ToolSelected(tool); AccessModeSelected(access); isFieldsValid = false; } isSimple = false; } if (string.IsNullOrWhiteSpace(img) && !IsCommentInput(commentState, true)) { CommentInput(commentState, true); isFieldsValid = false; } return(isFieldsValid); }
public void CreateInvalidPostWithoutTools(EBuySell buySellCancel, EForecastTime forecastTime, EAccess eAccess, string text) { appManager.NavigationHelper.GoToCreatePostOnNewsTab(); appManager.CreatePostHelper.SelectInformationForCreatePost(buySellCancel, forecastTime, eAccess, text). CreatePostOnCreatePostScreen(). ChekNoCreationsPosts(); }
private CreatePostHelper SelectBuySell(EBuySell buySellCancel) { appManager.App.Tap(appManager.CreatePostScreen.createPost_buySell_textView); switch (buySellCancel) { case EBuySell.Buy: if (OnAndroid) { appManager.App.Tap(appManager.AlertScreens.button1_on_alert); } else { appManager.App.Tap(appManager.CreatePostScreen.createPost_recommend_buy_ios); appManager.App.Tap(appManager.AlertScreens.ok_on_alert); } break; case EBuySell.Sell: if (OnAndroid) { appManager.App.Tap(appManager.AlertScreens.button2_on_alert); } else { appManager.App.Tap(appManager.CreatePostScreen.createPost_recommend_sell_ios); appManager.App.Tap(appManager.AlertScreens.ok_on_alert); } break; case EBuySell.Cancel: appManager.App.Tap(appManager.AlertScreens.cancel_on_alert); break; } return(this); }
public void BuySellSelectedFailTest(EBuySell buySell) { _presenterMock.Setup(f => f.BuySellState(EState.Fail)); _interactor.BuySellSelected(buySell); _presenterMock.Verify(f => f.BuySellState(EState.Fail)); }
// Проверить нужен данныей метод или нет public CreatePostHelper SelectInformationForCreatePost(EBuySell buySellCancel, EForecastTime forecastTime, EAccess eAccess, string text) { SelectBuySell(buySellCancel); SelectTime(forecastTime); SelectAccess(eAccess); appManager.App.EnterText(appManager.CreatePostScreen.createPost_comment_editText, text); return(this); }
public void PerformQueryTestExceptions(string quote, string market, EBuySell recommend, string price, EAccessMode access, string content, string forecast, string file) { Assert.Throws <ArgumentNullException>(() => { var model = new CreatePostRequestModel(quote, market, recommend, price, access, content, forecast, file); }); }
private bool IsBuySellSelected(EBuySell recommend) { if (recommend != EBuySell.None) { return(true); } return(false); }
public void BuySellSelectedSuccessTest(EBuySell buySell) { _presenterMock.Setup(f => f.BuySellState(EState.None)); _interactor.BuySellSelected(buySell); _presenterMock.Verify(f => f.BuySellState(EState.None)); }
public void AddSimplePostPositiveTest(string price, EBuySell recommend, EAccessMode access, string tool, string forecast, string comment, string img) { _repositoryMock.Setup(f => f.LangCreatePost.PriceLabel).Returns(It.IsAny <string>()); _repositoryMock.Setup(f => f.LangCreatePost.ToolsButton).Returns(It.IsAny <string>()); _connectionSenderMock.Setup(f => f.Send(It.IsAny <CreateSimplePostRequestModel>())); _interactor.AddPost(price, recommend, access, tool, forecast, comment, img); }
public void ReadyToSetPriceTest(string tool, EBuySell recommend) { _presenterMock.Setup(f => f.SetPrice(It.IsAny <string>())); _repositoryMock.Setup(f => f.LangCreatePost.PriceLabel).Returns(It.IsAny <string>()); _interactor.ReadyToSetPrice(It.IsAny <string>(), It.IsAny <EBuySell>()); _presenterMock.Verify(f => f.SetPrice(It.IsAny <string>()), Times.Once); }
private string PreparePrice(EBuySell recommend) { if (_qcBidAsk == null) { return(_repository.LangCreatePost.PriceLabel); } var price = recommend == EBuySell.Buy ? _qcBidAsk.QcAsk : _qcBidAsk.QcBid; return(price); }
public CreatePostStrings LoadData() { var savedData = _repository.CreatePostStrings; if (savedData != null) { _selectedRecommend = savedData.BuySell.GetRecommendEnum(); } return(savedData); }
private bool SetBidAskPrice(PostHeaderBrokerModel postHeaderBrokerModel, EBuySell recommend) { if (recommend == EBuySell.Buy) { postHeaderBrokerModel.CurrentPrice = postHeaderBrokerModel.CurrentPriceAsk; return(false); } postHeaderBrokerModel.CurrentPrice = postHeaderBrokerModel.CurrentPriceBid; return(true); }
public void AddPostForecastStringNegativeTest(string price, EBuySell recommend, EAccessMode access, string tool, string forecast, string comment, string img) { _presenterMock.Setup(f => f.AccessModeState(It.IsAny <EState>())); _presenterMock.Setup(f => f.ForecastTimeState(It.IsAny <EState>())); _presenterMock.Setup(f => f.ToolState(It.IsAny <EState>())); _presenterMock.Setup(f => f.CommentState(It.IsAny <EState>())); _presenterMock.Setup(f => f.BuySellState(It.IsAny <EState>())); _repositoryMock.Setup(f => f.LangCreatePost.PriceLabel).Returns(It.IsAny <string>()); _repositoryMock.Setup(f => f.LangCreatePost.ToolsButton).Returns(It.IsAny <string>()); _interactor.AddPost(price, recommend, access, tool, forecast, comment, img); }
public void ReadyToSetPrice(string tool, EBuySell recommend) { if (string.IsNullOrWhiteSpace(tool) || recommend == EBuySell.None) { SetPrice(_repository.LangCreatePost.PriceLabel); return; } _selectedRecommend = recommend; _selectedTool = tool.Replace("/", ""); _createPostController.SetQuote(_selectedTool); }
public void PreparePriceTestNegative(string quote, EBuySell recommend) { _repositoryMock.Setup(f => f.LangCreatePost.PriceLabel).Returns("Цена"); var actualPrice = string.Empty; foreach (var item in typeof(InteractorCreatePost).GetRuntimeMethods()) { if (item.Name.Equals("PreparePrice")) { actualPrice = item.Invoke(_interactor, new object[] { recommend }) as string; break; } } Assert.AreEqual("Цена", actualPrice); }
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 void AddPostForecastStringPositiveTest(string price, EBuySell recommend, EAccessMode access, string tool, string forecast, string comment, string img) { _presenterMock.Setup(f => f.AccessModeState(It.IsAny <EState>())); _presenterMock.Setup(f => f.ForecastTimeState(It.IsAny <EState>())); _presenterMock.Setup(f => f.ToolState(It.IsAny <EState>())); _presenterMock.Setup(f => f.CommentState(It.IsAny <EState>())); _presenterMock.Setup(f => f.BuySellState(It.IsAny <EState>())); _repositoryMock.Setup(f => f.LangCreatePost.PriceLabel).Returns(It.IsAny <string>()); _repositoryMock.Setup(f => f.LangCreatePost.ToolsButton).Returns(It.IsAny <string>()); foreach (var item in typeof(InteractorCreatePost).GetRuntimeFields()) { if (item.Name.Equals("_selectedTool")) { item.SetValue(_interactor, "AUD/CAD"); } } _connectionSenderMock.Setup(f => f.Send(It.IsAny <CreatePostRequestModel>())); _interactor.AddPost(price, recommend, access, tool, forecast, comment, img); _connectionSenderMock.Verify(f => f.Send(It.IsAny <CreatePostRequestModel>())); }
public void AddPost(string price, EBuySell recommend, EAccessMode access, string tool, string timePeriod, string comment, string img) { if (_currentRecieveStatus == EControllerStatus.Processing) { return; } if (!CheckFields(price, recommend, access, tool, timePeriod, comment, img, out bool isPostSimple)) { return; } comment = comment?.Trim(' ').Trim('\n'); if (isPostSimple) { _createPostController.Send(new CreateSimplePostRequestModel(market: "Simple", access: access, content: comment, image: img)); } else { _createPostController.Send(new CreatePostRequestModel(quote: tool, market: "Currency", recommend: recommend, price: price, access: access, content: comment, forecast: timePeriod, image: img)); } }
public void PreparePriceTestPositive(EBuySell recommend, string price, string qcName, string qcAsk, string qcBid) { var actualPrice = string.Empty; foreach (var item in typeof(InteractorCreatePost).GetRuntimeFields()) { if (item.Name.Equals("_qcBidAsk")) { item.SetValue(_interactor, new QcBidAsk(qcName, qcBid, qcAsk)); break; } } foreach (var item in typeof(InteractorCreatePost).GetRuntimeMethods()) { if (item.Name.Equals("PreparePrice")) { actualPrice = item.Invoke(_interactor, new object[] { recommend }) as string; break; } } Assert.AreEqual(actualPrice, price); }
public CreatePostRequestModel(string quote, string market, EBuySell recommend, string price, EAccessMode access, string content, EForecastTime forecast, string image = "") : base(market, access, content, image) { Forecast = GetStringForecastTime(forecast); CreatePostRequestModelMainPart(quote, market, recommend, price, access, content, Forecast, image); }
public static string GetLocaleStringFromEnum(this EBuySell recommend) { var result = Locale.Localization.Lang.GetType().GetRuntimeProperty(recommend.ToString()).GetValue(Locale.Localization.Lang) as string; return(result); }
public void AddPost(string price, EBuySell recommend, EAccessMode access, string tool, string timePeriod, string comment, string img) { _interactor.AddPost(price, recommend, access, tool, timePeriod, comment, img); }
public void ReadyToSetPrice(string tool, EBuySell recommend) { _interactor.ReadyToSetPrice(tool, recommend); }
public void BuySellSelected(EBuySell recommend) { _interactor.BuySellSelected(recommend); }
public void BuySellSelected(EBuySell recommend) { Presenter.BuySellState(IsBuySellSelected(recommend) ? EState.None : EState.Fail); }