Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        public void CheckFormDataSemantic_Incorect_Failed(OrderForm form)
        {
            var result = EntryOrderValidator.CheckFormDataSemantic(form);

            Assert.IsFalse(result, $"Incorect form was accepted : {form.Ticker}");
        }
Example #7
0
        public void CheckFormDataSemantic_Correct_Succes(OrderForm form)
        {
            var result = EntryOrderValidator.CheckFormDataSemantic(form);

            Assert.IsTrue(result, $"correct form was rejected : {form.Ticker}");
        }
Example #8
0
        public void CheckFormDatacompleteness_IncorectData_shouldFailed(OrderForm form)
        {
            var result = EntryOrderValidator.CheckFormDataCompleteness(form);

            Assert.IsFalse(result, $"Incorect form was accepted : {form.Ticker}");
        }
Example #9
0
        public void CheckFormDatacompleteness_CorrectData_shouldSucces(OrderForm form)
        {
            var result = EntryOrderValidator.CheckFormDataCompleteness(form);

            Assert.IsTrue(result, $"correct form was rejected : {form.Ticker}");
        }