public void SetUp()
 {
     membershipReCharge = new MembershipReCharge {Price = 4, Hours = 1};
 }
Beispiel #2
0
        public void Filters_recharges_by_branch_name_and_data_range()
        {
            var rechargedOn = DateTime.UtcNow.ToIST();
            var reCharge1 = new MembershipReCharge { BranchName = "foo", Hours = 2, Price = 20, RechargedOn = rechargedOn };
            var reCharge2 = new MembershipReCharge { BranchName = "foo", Hours = 5, Price = 50, RechargedOn = rechargedOn.AddDays(15) };
            var lastMonthDate = rechargedOn.Subtract(new TimeSpan(35, 0, 0, 0));
            var reCharge3 = new MembershipReCharge { BranchName = "foo", Hours = 3, Price = 30, RechargedOn = lastMonthDate };
            var reCharge4 = new MembershipReCharge { BranchName = "bar", Hours = 4, Price = 40, RechargedOn = rechargedOn };
            membership.Recharge(reCharge1);
            membership.Recharge(reCharge2);
            membership.Recharge(reCharge3);
            membership.Recharge(reCharge4);

            var membershipReCharges = membership.GetRecharges("foo", rechargedOn, rechargedOn.AddMonths(1)).ToList();

            membershipReCharges.Count().ShouldEqual(2);
            membershipReCharges.Sum(r => r.Hours).ShouldEqual(7);
            membershipReCharges.Sum(r => r.Price).ShouldEqual(70);
        }
Beispiel #3
0
        public void RemainingHours_is_the_difference_of_sum_of_recharge_hours_minus_sum_of_games_played_hours()
        {
            var game = new Game();
            var game2 = new Game { InTime = DateTime.UtcNow.ToIST().AddMinutes(30)};

            var recharge = new MembershipReCharge { Hours = 4 };

            membership.Recharge(recharge);
            membership.AddGame(game);
            membership.AddGame(game2);

            membership.RemainingHours.ShouldEqual(2.5);
        }
Beispiel #4
0
        public void RemainingHours_ignore_the_invalid_games_for_its_computation()
        {
            var game = new Game();
            var game2 = new Game {IsValid = false};

            var recharge = new MembershipReCharge { Hours = 4 };

            membership.Recharge(recharge);
            membership.AddGame(game);
            membership.AddGame(game2);

            membership.RemainingHours.ShouldEqual(3);
        }
Beispiel #5
0
        public void Recharges_with_new_membership_recharge()
        {
            var membershipReCharge = new MembershipReCharge();

            membership.Recharge(membershipReCharge);

            membership.ReCharges.Count().ShouldEqual(1);
            membership.ReCharges.First().ShouldEqual(membershipReCharge);
        }
Beispiel #6
0
        public void Filters_recharges_by_branch_name_and_issued_date()
        {
            var rechargedOn = DateTime.UtcNow.ToIST();
            var reCharge1 = new MembershipReCharge {BranchName = "foo", Hours = 2, Price = 20, RechargedOn = rechargedOn};
            var reCharge2 = new MembershipReCharge {BranchName = "foo", Hours = 5, Price = 50, RechargedOn = rechargedOn};
            var yesterdayDateTime = rechargedOn.Subtract(new TimeSpan(1, 0, 0, 0));
            var reCharge3 = new MembershipReCharge {BranchName = "foo", Hours = 3, Price = 30, RechargedOn = yesterdayDateTime};
            var reCharge4 = new MembershipReCharge {BranchName = "bar", Hours = 4, Price = 40, RechargedOn = rechargedOn};
            membership.Recharge(reCharge1);
            membership.Recharge(reCharge2);
            membership.Recharge(reCharge3);
            membership.Recharge(reCharge4);

            var membershipReCharges = membership.GetRecharges("foo", rechargedOn).ToList();

            membershipReCharges.Count().ShouldEqual(2);
            membershipReCharges.Sum(r => r.Hours).ShouldEqual(7);
            membershipReCharges.Sum(r => r.Price).ShouldEqual(70);
        }