/// <summary> /// Initializes a new instance of the /// <see cref="T:MoneyFox.Business.ViewModels.Statistic.StatisticCategorySummaryViewModel" /> class. /// </summary> /// <param name="categorySummaryDataDataProvider">Category summary data data provider.</param> /// <param name="messenger">Messenger.</param> /// <param name="settingsManager">Instance of a ISettingsManager</param> public StatisticCategorySummaryViewModel(CategorySummaryDataProvider categorySummaryDataDataProvider, IMvxMessenger messenger, ISettingsManager settingsManager) : base(messenger, settingsManager) { this.categorySummaryDataDataProvider = categorySummaryDataDataProvider; CategorySummary = new MvxObservableCollection <StatisticItem>(); }
public void GetValues_InitializedData_IgnoreTransfers() { //Setup var categoryRepoSetup = new Mock <ICategoryRepository>(); categoryRepoSetup.Setup(x => x.GetList(null)).Returns(new List <CategoryViewModel> { new CategoryViewModel { Id = 1, Name = "Ausgehen" } }); var categoryRepo = categoryRepoSetup.Object; var paymentRepoSetup = new Mock <IPaymentRepository>(); paymentRepoSetup.Setup(x => x.GetList(null)).Returns(new List <PaymentViewModel> { new PaymentViewModel { Id = 1, Type = PaymentType.Income, Date = DateTime.Today, Amount = 60, Category = categoryRepo.GetList().First(), CategoryId = 1 }, new PaymentViewModel { Id = 2, Type = PaymentType.Expense, Date = DateTime.Today, Amount = 90, Category = categoryRepo.GetList().First(), CategoryId = 1 }, new PaymentViewModel { Id = 3, Type = PaymentType.Transfer, Date = DateTime.Today, Amount = 40, Category = categoryRepo.GetList().First(), CategoryId = 1 } }); //Excution var result = new CategorySummaryDataProvider(paymentRepoSetup.Object, categoryRepo).GetValues(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)).ToList(); //Assertion result.Count.ShouldBe(1); result.First().Value.ShouldBe(-30); }
public void GetValues_InitializedData_IgnoreTransfers() { //Setup var paymentRepoSetup = new Mock <IPaymentRepository>(); paymentRepoSetup.SetupAllProperties(); var categoryRepoSetup = new Mock <IRepository <Category> >(); categoryRepoSetup.SetupAllProperties(); var categoryRepo = categoryRepoSetup.Object; categoryRepo.Data = new ObservableCollection <Category>(new List <Category> { new Category { Id = 1, Name = "Ausgehen" } }); var paymentRepository = paymentRepoSetup.Object; paymentRepository.Data = new ObservableCollection <Payment>(new List <Payment> { new Payment { Id = 1, Type = (int)PaymentType.Income, Date = DateTime.Today, Amount = 60, Category = categoryRepo.Data.First(), CategoryId = 1 }, new Payment { Id = 2, Type = (int)PaymentType.Expense, Date = DateTime.Today, Amount = 90, Category = categoryRepo.Data.First(), CategoryId = 1 }, new Payment { Id = 3, Type = (int)PaymentType.Transfer, Date = DateTime.Today, Amount = 40, Category = categoryRepo.Data.First(), CategoryId = 1 } }); //Excution var result = new CategorySummaryDataProvider(paymentRepository, categoryRepo).GetValues(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)).ToList(); //Assertion result.Count.ShouldBe(1); result.First().Value.ShouldBe(-30); }
public void GetValues_InitializedData_IgnoreTransfers() { //Setup var paymentRepoSetup = new Mock<IPaymentRepository>(); paymentRepoSetup.SetupAllProperties(); var categoryRepoSetup = new Mock<IRepository<Category>>(); categoryRepoSetup.SetupAllProperties(); var categoryRepo = categoryRepoSetup.Object; categoryRepo.Data = new ObservableCollection<Category>(new List<Category> { new Category {Id = 1, Name = "Ausgehen"} }); var paymentRepository = paymentRepoSetup.Object; paymentRepository.Data = new ObservableCollection<Payment>(new List<Payment> { new Payment { Id = 1, Type = (int) PaymentType.Income, Date = DateTime.Today, Amount = 60, Category = categoryRepo.Data.First(), CategoryId = 1 }, new Payment { Id = 2, Type = (int) PaymentType.Expense, Date = DateTime.Today, Amount = 90, Category = categoryRepo.Data.First(), CategoryId = 1 }, new Payment { Id = 3, Type = (int) PaymentType.Transfer, Date = DateTime.Today, Amount = 40, Category = categoryRepo.Data.First(), CategoryId = 1 } }); //Excution var result = new CategorySummaryDataProvider(paymentRepository, categoryRepo).GetValues(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)).ToList(); //Assertion result.Count.ShouldBe(1); result.First().Value.ShouldBe(-30); }
public void GetValues_CorrectSums() { // Arrange var categoryServiceMock = new Mock <ICategoryService>(); categoryServiceMock.Setup(x => x.GetAllCategoriesWithPayments()) .Returns(Task.FromResult <IEnumerable <Category> >(new List <Category> { new Category { Data = { Id = 1, Name = "Ausgehen", Payments = new List <PaymentEntity> { new PaymentEntity { Id = 1, Type = PaymentType.Income, Date = DateTime.Today, Amount = 60, CategoryId = 1 }, new PaymentEntity { Id = 2, Type = PaymentType.Expense, Date = DateTime.Today, Amount = 90, CategoryId = 1 }, new PaymentEntity { Id = 3, Type = PaymentType.Transfer, Date = DateTime.Today, Amount = 40, CategoryId = 1 } } } } })); // Act var result = new CategorySummaryDataProvider(categoryServiceMock.Object).GetValues(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)) .Result.ToList(); // Assert result.Count.ShouldBe(1); result.First().Value.ShouldBe(-30); }
/// <summary> /// Initializes a new instance of the /// <see cref="T:MoneyFox.Business.ViewModels.Statistic.StatisticCategorySummaryViewModel" /> class. /// </summary> /// <param name="categorySummaryDataDataProvider">Category summary data data provider.</param> /// <param name="messenger">Messenger.</param> /// <param name="settingsManager">Instance of a ISettingsManager</param> public StatisticCategorySummaryViewModel(CategorySummaryDataProvider categorySummaryDataDataProvider, IMvxMessenger messenger, ISettingsManager settingsManager, IDialogService dialogService, IMvxLogProvider logProvider, IMvxNavigationService navigationService) : base(messenger, settingsManager, logProvider, navigationService) { this.categorySummaryDataDataProvider = categorySummaryDataDataProvider; this.dialogService = dialogService; CategorySummary = new MvxObservableCollection <StatisticItem>(); }
public StatisticCategorySummaryViewModel(IPaymentRepository paymentRepository, IRepository <Category> categoryRepository) { categorySummaryDataDataProvider = new CategorySummaryDataProvider(paymentRepository, categoryRepository); }
public void GetValues_InitializedData_CalculateIncome() { //Setup var paymentRepoSetup = new Mock <IPaymentRepository>(); paymentRepoSetup.SetupAllProperties(); var categoryRepoSetup = new Mock <IRepository <Category> >(); categoryRepoSetup.SetupAllProperties(); var categoryRepo = categoryRepoSetup.Object; categoryRepo.Data = new ObservableCollection <Category>(new List <Category> { new Category { Id = 1, Name = "Einkaufen" }, new Category { Id = 2, Name = "Ausgehen" }, new Category { Id = 3, Name = "Foo" } }); var paymentRepository = paymentRepoSetup.Object; paymentRepository.Data = new ObservableCollection <Payment>(new List <Payment> { new Payment { Id = 1, Type = (int)PaymentType.Income, Date = DateTime.Today, Amount = 60, Category = categoryRepo.Data[0], CategoryId = 1 }, new Payment { Id = 2, Type = (int)PaymentType.Expense, Date = DateTime.Today, Amount = 90, Category = categoryRepo.Data[0], CategoryId = 1 }, new Payment { Id = 3, Type = (int)PaymentType.Expense, Date = DateTime.Today, Amount = 40, Category = categoryRepo.Data[1], CategoryId = 2 }, new Payment { Id = 3, Type = (int)PaymentType.Income, Date = DateTime.Today, Amount = 66, Category = categoryRepo.Data[2], CategoryId = 3 } }); //Excution var result = new CategorySummaryDataProvider(paymentRepository, categoryRepo).GetValues(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)).ToList(); //Assertion result.Count.ShouldBe(3); result[0].Value.ShouldBe(-40); result[1].Value.ShouldBe(-30); result[2].Value.ShouldBe(66); }
public StatisticCategorySummaryViewModel(CategorySummaryDataProvider categorySummaryDataDataProvider) { this.categorySummaryDataDataProvider = categorySummaryDataDataProvider; }
public StatisticCategorySummaryViewModel(IPaymentRepository paymentRepository, IRepository<Category> categoryRepository) { categorySummaryDataDataProvider = new CategorySummaryDataProvider(paymentRepository, categoryRepository); }
public void GetValues_InitializedData_CalculateIncome() { //Setup var categoryRepoSetup = new Mock <ICategoryRepository>(); categoryRepoSetup.Setup(x => x.GetList(null)).Returns(new List <CategoryViewModel> { new CategoryViewModel { Id = 1, Name = "Einkaufen" }, new CategoryViewModel { Id = 2, Name = "Ausgehen" }, new CategoryViewModel { Id = 3, Name = "Foo" } }); var categoryRepo = categoryRepoSetup.Object; var paymentRepoSetup = new Mock <IPaymentRepository>(); paymentRepoSetup.Setup(x => x.GetList(It.IsAny <Expression <Func <PaymentViewModel, bool> > >())).Returns(new List <PaymentViewModel> { new PaymentViewModel { Id = 1, Type = PaymentType.Income, Date = DateTime.Today, Amount = 60, Category = categoryRepo.GetList().ToList()[0], CategoryId = 1 }, new PaymentViewModel { Id = 2, Type = PaymentType.Expense, Date = DateTime.Today, Amount = 90, Category = categoryRepo.GetList().ToList()[0], CategoryId = 1 }, new PaymentViewModel { Id = 3, Type = PaymentType.Expense, Date = DateTime.Today, Amount = 40, Category = categoryRepo.GetList().ToList()[1], CategoryId = 2 }, new PaymentViewModel { Id = 3, Type = PaymentType.Income, Date = DateTime.Today, Amount = 66, Category = categoryRepo.GetList().ToList()[2], CategoryId = 3 } }); //Excution var result = new CategorySummaryDataProvider(paymentRepoSetup.Object, categoryRepo).GetValues(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)).ToList(); //Assertion result.Count.ShouldBe(3); result[0].Value.ShouldBe(-40); result[1].Value.ShouldBe(-30); result[2].Value.ShouldBe(66); }
public void GetValues_InitializedData_HandleDateCorrectly() { //Setup var categoryRepoSetup = new Mock <ICategoryRepository>(); categoryRepoSetup.Setup(x => x.GetList(It.IsAny <Expression <Func <Category, bool> > >())).Returns(new List <Category> { new Category { Id = 1, Name = "Einkaufen" }, new Category { Id = 2, Name = "Ausgehen" }, new Category { Id = 3, Name = "Bier" } }); var categoryRepo = categoryRepoSetup.Object; var paymentRepoSetup = new Mock <IPaymentRepository>(); paymentRepoSetup.Setup(x => x.GetList(It.IsAny <Expression <Func <Payment, bool> > >())).Returns(new List <Payment> { new Payment { Id = 1, Type = (int)PaymentType.Expense, Date = DateTime.Today.AddDays(-5), Amount = 60, Category = categoryRepo.GetList().ToList()[0], CategoryId = 1 }, new Payment { Id = 2, Type = (int)PaymentType.Expense, Date = DateTime.Today, Amount = 90, Category = categoryRepo.GetList().ToList()[1], CategoryId = 2 }, new Payment { Id = 3, Type = (int)PaymentType.Expense, Date = DateTime.Today.AddDays(5), Amount = 40, Category = categoryRepo.GetList().ToList()[2], CategoryId = 3 } }); //Excution var result = new CategorySummaryDataProvider(paymentRepoSetup.Object, categoryRepo).GetValues(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)).ToList(); //Assertion result.Count.ShouldBe(1); result.First().Value.ShouldBe(-90); }
public void GetValues_InitializedData_CalculateIncome() { //Setup var paymentRepoSetup = new Mock<IPaymentRepository>(); paymentRepoSetup.SetupAllProperties(); var categoryRepoSetup = new Mock<IRepository<Category>>(); categoryRepoSetup.SetupAllProperties(); var categoryRepo = categoryRepoSetup.Object; categoryRepo.Data = new ObservableCollection<Category>(new List<Category> { new Category {Id = 1, Name = "Einkaufen"}, new Category {Id = 2, Name = "Ausgehen"}, new Category {Id = 3, Name = "Foo"} }); var paymentRepository = paymentRepoSetup.Object; paymentRepository.Data = new ObservableCollection<Payment>(new List<Payment> { new Payment { Id = 1, Type = (int) PaymentType.Income, Date = DateTime.Today, Amount = 60, Category = categoryRepo.Data[0], CategoryId = 1 }, new Payment { Id = 2, Type = (int) PaymentType.Expense, Date = DateTime.Today, Amount = 90, Category = categoryRepo.Data[0], CategoryId = 1 }, new Payment { Id = 3, Type = (int) PaymentType.Expense, Date = DateTime.Today, Amount = 40, Category = categoryRepo.Data[1], CategoryId = 2 }, new Payment { Id = 3, Type = (int) PaymentType.Income, Date = DateTime.Today, Amount = 66, Category = categoryRepo.Data[2], CategoryId = 3 } }); //Excution var result = new CategorySummaryDataProvider(paymentRepository, categoryRepo).GetValues(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)).ToList(); //Assertion result.Count.ShouldBe(3); result[0].Value.ShouldBe(-40); result[1].Value.ShouldBe(-30); result[2].Value.ShouldBe(66); }
public StatisticCategorySummaryViewModel(CategorySummaryDataProvider categorySummaryDataDataProvider, IMvxMessenger messenger) : base(messenger) { this.categorySummaryDataDataProvider = categorySummaryDataDataProvider; }