public void GetWealthValues_SomeTransactions_Matching()
        {
            //given
            var calculator = new TransactionBalanceCalculator();

            var expected = new[]
            {
                new DataPoint(DateTimeAxis.ToDouble(_firstBookDate.AddDays(-1)), 51010.0d),
                new DataPoint(DateTimeAxis.ToDouble(_firstBookDate), 61010.0d),
                new DataPoint(DateTimeAxis.ToDouble(DateTime.Today.AddDays(-22)), 61000.0d),
                new DataPoint(DateTimeAxis.ToDouble(DateTime.Today.AddDays(-10)), 60000.0d),
                new DataPoint(DateTimeAxis.ToDouble(DateTime.Today), 60000.0d),
            };

            //when
            var result = calculator.GetWealthValues(_transactions, _selectedStocks, _dateFilter, x => x.BookDate, false);

            //then
            Assert.Equal(expected.Length, result.Length);
            Assert.Equal(expected, result);
        }
        public void CalculateBalance_SomeTransactions_Matching()
        {
            //given
            var calculator = new TransactionBalanceCalculator();

            var expected = new[]
            {
                new TransactionBalance(_firstBookDate.AddDays(-1), 51010m),
                new TransactionBalance(_firstBookDate, 61010m),
                new TransactionBalance(DateTime.Today.AddDays(-22), 61000m),
                new TransactionBalance(DateTime.Today.AddDays(-10), 60000m),
                new TransactionBalance(DateTime.Today, 60000m),
            };

            //when
            var result = calculator.CalculateBalance(_transactions, _selectedStocks, _dateFilter, x => x.BookDate, false)
                         .OrderBy(x => x.BookDate)
                         .ToArray();

            //then
            Assert.Equal(expected.Length, result.Length);
            Assert.Equal(expected, result);
        }