public void SetUp() { membershipReCharge = new MembershipReCharge {Price = 4, Hours = 1}; }
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); }
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); }
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); }
public void Recharges_with_new_membership_recharge() { var membershipReCharge = new MembershipReCharge(); membership.Recharge(membershipReCharge); membership.ReCharges.Count().ShouldEqual(1); membership.ReCharges.First().ShouldEqual(membershipReCharge); }
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); }