public void ValidateWallet_SellHasNotInstrument_Failed() { var form = new OrderForm() { Ticker = "test", Volumen = 100, OrderType = OrderType.Sell }; var wallet = new Wallet() { Assets = new List <BaseAsset>() { } }; var result = EntryOrderValidator.ValidateWallet(form, wallet); Assert.IsFalse(result); }
public void ValidateWallet_BuyNotEnaughCash_Failed() { var form = new OrderForm() { Price = 100f, Volumen = 100, OrderType = OrderType.Buy }; var wallet = new Wallet() { CirculatingMedium = new Cash() { AvailableAmount = 999M } }; var result = EntryOrderValidator.ValidateWallet(form, wallet); Assert.IsFalse(result); }
public void ValidateWallet_BuyExactliCash_succes() { var form = new OrderForm() { Price = 100f, Volumen = 100, OrderType = OrderType.Buy }; var wallet = new Wallet() { CirculatingMedium = new Cash() { AvailableAmount = 10000M } }; var result = EntryOrderValidator.ValidateWallet(form, wallet); Assert.IsTrue(result); }
public void ValidateWallet_SellHasInstrument_succes() { var form = new OrderForm() { Ticker = "test", Volumen = 100, OrderType = OrderType.Sell }; var wallet = new Wallet() { Assets = new List <BaseAsset>() { new BaseAsset() { Name = "test", Volumen = 100 } } }; var result = EntryOrderValidator.ValidateWallet(form, wallet); Assert.IsTrue(result); }
private async Task <bool> ValidateOrderForm(OrderForm orderForm) { var isValid = false; if (EntryOrderValidator.CheckFormDataCompleteness(orderForm)) { if (EntryOrderValidator.CheckFormDataSemantic(orderForm)) { var wallet = await new ApiCaller().GetWalletByUserId(orderForm.UserId); if (wallet is null) { return(false); } if (EntryOrderValidator.ValidateWallet(orderForm, wallet)) { isValid = true; } } } return(isValid); }