Example #1
0
        public void EveryoneBreakEven()
        {
            DebtService service = new DebtService();

            service.PersonList.Add(new Person("Adam"));
            service.PersonList.Add(new Person("Kate"));
            service.PersonList.Add(new Person("Dru"));

            service.addDebt(100, service.PersonList[0], service.PersonList[1], service.PersonList[2]);
            service.addDebt(100, service.PersonList[1], service.PersonList[2], service.PersonList[0]);
            service.addDebt(100, service.PersonList[2], service.PersonList[0], service.PersonList[1]);

            service.Combine();

            Assert.AreEqual(service.DebtList.Count, 0);
        }
Example #2
0
        public void EveryoneBreakEven()
        {
            DebtService service = new DebtService();
            service.PersonList.Add(new Person("Adam"));
            service.PersonList.Add(new Person("Kate"));
            service.PersonList.Add(new Person("Dru"));

            service.addDebt(100, service.PersonList[0], service.PersonList[1],service.PersonList[2]);
            service.addDebt(100, service.PersonList[1], service.PersonList[2], service.PersonList[0]);
            service.addDebt(100, service.PersonList[2], service.PersonList[0], service.PersonList[1]);

            service.Combine();
            
            Assert.AreEqual(service.DebtList.Count, 0);

        }
Example #3
0
        public virtual void ItCalculatesGivenDebtsSummary()
        {
            // create entity
            var entity = App.Factory.CreateDebt(user.Id, item =>
            {
                item.DebtType = DebtType.GiveBorrow;
                item.Value    = 1000;
            });
            var service = new DebtService(App.Db);
            var debtsSummaryCalculator = new DebtsSummaryCalculator(service, user.Id);

            var summary = debtsSummaryCalculator.CalculateSummary();

            summary.GivenDebts.Count.ShouldBeEquivalentTo(1);
            summary.GivenDebts[0].Value.ShouldBeEquivalentTo(entity.Value);
            summary.GivenDebts[0].Currency.Id.ShouldBeEquivalentTo(entity.CurrencyId);
        }
Example #4
0
        public void EveryoneBreakEven()
        {
            DebtService service = new DebtService();

            service.PersonList.Add(new Person("Adam"));
            service.PersonList.Add(new Person("Kate"));
            service.PersonList.Add(new Person("Dru"));

            service.addDebt(100, service.PersonList.ElementAt(0), service.PersonList.ElementAt(1));
            service.addDebt(100, service.PersonList.ElementAt(1), service.PersonList.ElementAt(2));
            service.addDebt(100, service.PersonList.ElementAt(2), service.PersonList.ElementAt(0));

            service.Combine();
            ObservableCollection <DebtContainer> emptyList = new ObservableCollection <DebtContainer>();

            Console.WriteLine(emptyList.Count);
            Console.WriteLine(service.DebtList.Count);

            Assert.True(true);
            Assert.AreEqual(service.DebtList, emptyList);
        }
Example #5
0
        public override void Execute()
        {
            //EventSubscriptionService eventSubscriptionService = new EventSubscriptionService();
            EventService eventService = new EventService();
            DebtService  debtService  = new DebtService();

            var actualEvent = eventService.GetEventByCreatorId(this.Parameters[0], this.CommandRequest.User_ID);

            List <Debt> list = debtService.GetUnpaidDebts(actualEvent.EventID);

            //foreach (Debt debt in list)
            //{
            //    var client = new WebClient();

            //    client.UploadValues(
            //        new System.Uri("https://slack.com/api/reminders.add"), "POST", new NameValueCollection() {
            //        { "token", "xoxp-48206941781-48203038320-48270725746-ed4777abef"},
            //        {"Text", string.Format("You need to pay {0} to {1} before the {2}",debt.AmountDue,actualEvent.CreatorUsername,actualEvent.PaymentDeadline) },
            //        {"time", this.Parameters[1]},
            //        {"user", eventSubscriptionService.GetUserNameById(debt.UserID, debt.EventID)}
            //    });
            //}

            //WebClient client = new WebClient();

            //var users = list.Select(d => d.UserID);
            //var userArray = string.Join(",", users);

            //var endpoint = "https://slack.com/api/chat.postMessage";
            //var response = client.UploadValues(endpoint, "POST", new NameValueCollection() {
            //    {"token", "xoxp-48206941781-48203038320-48270725746-ed4777abef"},
            //    {"as_user", "true"},
            //    {"channel", "@ioubot" },
            //    {"text", string.Format("REMINDER_EVENT_IOU {0} {1} {2} {3} {4} {5}", this.Parameters[0], )}
            //});

            this.CommandResponse.Text = string.Format("Reminder added to {0} users", list.Count);
        }
Example #6
0
 public DebtsController(DebtService debtService)
 {
     _debtService = debtService;
 }
Example #7
0
 public void SetUp()
 {
     fixture = new Fixture();
     sut     = fixture.Create <DebtService>();
 }