示例#1
0
        private void CreateCarteira()
        {
            var carteiraDelete = repositoryCarteira.GetById("CB");

            if (carteiraDelete != null)
            {
                repositoryCarteira.Delete(carteiraDelete);
            }
            Carteira carteira = new Carteira("CB", "Carteira Benchmark", 100.0, DateTime.Now.AddDays(-2), 1000.0);

            carteira.AddItem(DateTime.Now.AddDays(-1), 1100.0);
            carteira.AddItem(DateTime.Now, 1210.0);
            repositoryCarteira.Insert(carteira);
        }
示例#2
0
        public void TesteCriacaoDeTerceiroItemCarteiraComMovimentacoes()
        {
            Carteira Carteira = CreateCarteira();
            var      list     = new List <MovimentacaoCarteira>()
            {
                new MovimentacaoCarteira()
                {
                    Valor     = 200.0,
                    Descricao = "Resgate",
                    Tipo      = TipoMovimentacao.Resgate
                },
                new MovimentacaoCarteira()
                {
                    Valor     = 100.0,
                    Descricao = "Aluguel",
                    Tipo      = TipoMovimentacao.Rendimento
                }
            };

            Carteira.AddItem(DateTime.Now.AddDays(1), 1000.0, list);
            ItemCarteira item = Carteira.Itens.LastOrDefault();

            Assert.Equal(-100.0, item.ValorMovimentacoes, 2);
            Assert.Equal(1000.0, item.Saldo, 2);
            Assert.Equal(10.0, item.QtdCotasAnterior, 2);
            Assert.Equal(-0.91, item.QtdCotasMovimentacao, 2);
            Assert.Equal(9.09, item.QtdCotasAtual, 2);
            Assert.Equal(1.1, item.VariacaoCotaPercentual, 2);
            Assert.Equal(100.0, item.VariacaoFinanceira, 2);
            Assert.Equal(110.0, item.ValorCota, 2);
        }
示例#3
0
        public void Patch([FromBody] ItemCarteira itemCarteira, string codigo)
        {
            Carteira carteira = repositoryCarteira.GetById(codigo);

            carteira.AddItem(itemCarteira.DataCota, itemCarteira.Saldo, itemCarteira.Movimentacoes);
            repositoryCarteira.Update(carteira);
        }
示例#4
0
        public void TesteCarteiraComAdicaoDeSegundoItemCarteiraComMovimentacoes()
        {
            Carteira Carteira = CreateCarteira();
            var      list     = new List <MovimentacaoCarteira>()
            {
                new MovimentacaoCarteira()
                {
                    Valor     = 200.0,
                    Descricao = "Resgate",
                    Tipo      = TipoMovimentacao.Resgate
                },
                new MovimentacaoCarteira()
                {
                    Valor     = 100.0,
                    Descricao = "Aluguel",
                    Tipo      = TipoMovimentacao.Rendimento
                }
            };

            Carteira.AddItem(DateTime.Now.AddDays(1), 1000.0, list);
            Assert.Equal(9.09, Carteira.QtdCotasAtual, 2);
            Assert.Equal(110.0, Carteira.ValorCotaAtual, 2);
            Assert.Equal(1000.0, Carteira.Saldo, 2);
            Assert.Equal(900.0, Carteira.TotalAplicado, 2);
            Assert.Equal(100.0, Carteira.VariacaoFinanceira, 2);
            Assert.Equal(1.1, Carteira.VariacaoCotaPercentual, 2);
        }
示例#5
0
        public void TesteCriacaoDeSegundoItemCarteiraComAplicacao()
        {
            Carteira Carteira = CreateCarteira();
            var      list     = new List <MovimentacaoCarteira>()
            {
                new MovimentacaoCarteira()
                {
                    Valor     = 100.0,
                    Descricao = "Aplicação",
                    Tipo      = TipoMovimentacao.Aplicacao
                }
            };

            Carteira.AddItem(DateTime.Now.AddDays(1), 1200.0, list);
            ItemCarteira item = Carteira.Itens.LastOrDefault();

            Assert.Equal(100.0, item.ValorMovimentacoes, 2);
            Assert.Equal(1200.0, item.Saldo, 2);
            Assert.Equal(10.0, item.QtdCotasAnterior, 2);
            Assert.Equal(0.91, item.QtdCotasMovimentacao, 2);
            Assert.Equal(10.91, item.QtdCotasAtual, 2);
            Assert.Equal(1.1, item.VariacaoCotaPercentual, 2);
            Assert.Equal(100.0, item.VariacaoFinanceira, 2);
            Assert.Equal(110.0, item.ValorCota, 2);
        }
示例#6
0
        public void TesteCarteiraComAdicaoDeSegundoItemCarteiraSemMovimentacao()
        {
            Carteira Carteira = CreateCarteira();

            Carteira.AddItem(DateTime.Now.AddDays(1), 1100.0);
            Assert.Equal(10.0, Carteira.QtdCotasAtual, 2);
            Assert.Equal(110.0, Carteira.ValorCotaAtual, 2);
            Assert.Equal(1100.0, Carteira.Saldo, 2);
            Assert.Equal(1000.0, Carteira.TotalAplicado, 2);
            Assert.Equal(100.0, Carteira.VariacaoFinanceira, 2);
            Assert.Equal(1.1, Carteira.VariacaoCotaPercentual, 2);
        }
示例#7
0
        public void TesteCriacaoDeItemComDataMenorIgualAoUltimoItem()
        {
            Carteira Carteira = CreateCarteira();
            var      list     = new List <MovimentacaoCarteira>()
            {
                new MovimentacaoCarteira()
                {
                    Valor     = 100.0,
                    Descricao = "Resgate",
                    Tipo      = TipoMovimentacao.Resgate
                }
            };

            Assert.Throws <Exception>(() => Carteira.AddItem(DateTime.Now, 1000.0, list));
        }
示例#8
0
        public void TesteCriacaoDeSegundoItemCarteiraSemMovimentacao()
        {
            Carteira Carteira = CreateCarteira();

            Carteira.AddItem(DateTime.Now.AddDays(1), 1100.0);
            ItemCarteira item = Carteira.Itens.LastOrDefault();

            Assert.Equal(0.0, item.ValorMovimentacoes, 2);
            Assert.Equal(1100.0, item.Saldo, 2);
            Assert.Equal(10.0, item.QtdCotasAnterior, 2);
            Assert.Equal(0.0, item.QtdCotasMovimentacao, 2);
            Assert.Equal(10.0, item.QtdCotasAtual, 2);
            Assert.Equal(1.1, item.VariacaoCotaPercentual, 2);
            Assert.Equal(100.0, item.VariacaoFinanceira, 2);
            Assert.Equal(110.0, item.ValorCota, 2);
        }
示例#9
0
        public void TesteCarteiraComAdicaoDeSegundoItemCarteiraComAplicacao()
        {
            Carteira Carteira = CreateCarteira();
            var      list     = new List <MovimentacaoCarteira>()
            {
                new MovimentacaoCarteira()
                {
                    Valor     = 100.0,
                    Descricao = "Aplicação",
                    Tipo      = TipoMovimentacao.Aplicacao
                }
            };

            Carteira.AddItem(DateTime.Now.AddDays(1), 1200.0, list);
            Assert.Equal(10.91, Carteira.QtdCotasAtual, 2);
            Assert.Equal(110.0, Carteira.ValorCotaAtual, 2);
            Assert.Equal(1200.0, Carteira.Saldo, 2);
            Assert.Equal(1100.0, Carteira.TotalAplicado, 2);
            Assert.Equal(100.0, Carteira.VariacaoFinanceira, 2);
            Assert.Equal(1.1, Carteira.VariacaoCotaPercentual, 2);
        }
示例#10
0
        public Carteira TesteCarteira()
        {
            Carteira carteira = new Carteira("ITest", "Teste", 100.0, DateTime.Now, 1000.0);
            var      list     = new List <MovimentacaoCarteira>()
            {
                new MovimentacaoCarteira()
                {
                    Valor     = 200.0,
                    Descricao = "Resgate",
                    Tipo      = TipoMovimentacao.Resgate
                },
                new MovimentacaoCarteira()
                {
                    Valor     = 100.0,
                    Descricao = "Aluguel",
                    Tipo      = TipoMovimentacao.Rendimento
                }
            };

            carteira.AddItem(DateTime.Now.AddDays(1), 1000.0, list);
            return(carteira);
        }