Ejemplo n.º 1
0
 public void AnEmptyRentalRecordShouldHaveATotalAmountOfZero()
 {
     var customer = new Customer("John Smith");
     var order = new Order();
     var statement = new Statement(order, customer);
     Assert.AreEqual(statement.TotalAmount(order.Rentals), 0.00);
 }
Ejemplo n.º 2
0
 public void IndexShouldShowCurrentCart()
 {
     var customer = new Customer("John Smith");
     var controller = new CartController(customer);
     ViewResult result = controller.Index();
     Assert.That(result.Model, Is.SameAs(customer.Cart));
 }
Ejemplo n.º 3
0
        public void NonEmpty()
        {
            const string expected = "Rental Record for John Smith\n"
                                    + "  Monty Python and the Holy Grail  -  $3.50\n"
                                    + "  Ran  -  $2.00\n"
                                    + "  LA Confidential  -  $6.00\n"
                                    + "  Star Trek 13.2  -  $3.00\n"
                                    + "  Wallace and Gromit  -  $6.00\n"
                                    + "Amount charged is $20.50\n"
                                    + "You have a new total of 6 frequent renter points";

            var customer = new Customer("John Smith");

            var montyPython = new Movie("Monty Python and the Holy Grail", new RegularPrice());
            var ran = new Movie("Ran", new RegularPrice());
            var laConfidential = new Movie("LA Confidential", new NewReleasePrice());
            var starTrek = new Movie("Star Trek 13.2", new NewReleasePrice());
            var wallaceAndGromit = new Movie("Wallace and Gromit", new ChildrensPrice());

            var mixedRentals = new List<Rental>();
            mixedRentals.Add(new Rental(montyPython, 3));
            mixedRentals.Add(new Rental(ran, 1));
            mixedRentals.Add(new Rental(laConfidential, 2));
            mixedRentals.Add(new Rental(starTrek, 1));
            mixedRentals.Add(new Rental(wallaceAndGromit, 6));

            Assert.AreEqual(expected, customer.Statement(mixedRentals));
        }
Ejemplo n.º 4
0
 public void ShouldCreateRentalForOneDay()
 {
     var customer = new Customer("John Smith");
     var controller = new CartController(customer);
     controller.RentMovie("Avatar");
     List<Rental> rentals = customer.Cart.Rentals;
     Assert.That(rentals.First(r => r.Movie.Title == "Avatar").Period, Is.EqualTo(1));
 }
Ejemplo n.º 5
0
 public void ShouldAddMovieToCart()
 {
     var customer = new Customer("John Smith");
     var controller = new CartController(customer);
     controller.RentMovie("Avatar");
     List<Rental> rentals = customer.Cart.Rentals;
     Assert.That(rentals.Any(r => r.Movie.Title == "Avatar"));
 }
Ejemplo n.º 6
0
 public void Empty()
 {
     var customer = new Customer("John Smith");
     const string noRentalsStatement = "Rental Record for John Smith\n"
                                       + "Amount charged is $0.00\n"
                                       + "You have a new total of 0 frequent renter points";
     Assert.AreEqual(noRentalsStatement, customer.Statement(new List<Rental>()));
 }
Ejemplo n.º 7
0
 public void ShouldCountMultipleMovies()
 {
     var customer = new Customer("John Smith");
     var controller = new CartController(customer);
     controller.RentMovie("Avatar");
     Assert.That(customer.Cart.Count, Is.EqualTo(1));
     controller.RentMovie("Waterworld");
     Assert.That(customer.Cart.Count, Is.EqualTo(2));
 }
Ejemplo n.º 8
0
 public void SetUp()
 {
     var mockRepo = new Mock<MovieRepository>();
     var movies = new List<Movie>
                      {
                          new Movie("Avatar"),
                          new Movie("Up in the Air"),
                          new Movie("Finding Nemo"),
                          new Movie("Ping Pong")
                      };
     mockRepo.Setup(repo => repo.FindAllMovies()).Returns(movies);
     customer = new Customer("John Smith");
     controller = new HomePageController(customer, mockRepo.Object);
 }
        public void ShouldProvideStatementsForCustomer()
        {
            var repository = new StatementRepository();

            var c1 = new Customer("One");
            var c2 = new Customer("Two");

            var statement = new Statement(c1);
            repository.Add(statement);

            repository.Add(new Statement(c2));

            var c1statements = repository.FindByCustomer(c1);

            Assert.That(c1statements.Contains(statement));
            Assert.That(c1statements.Count(), Is.EqualTo(1));
        }
Ejemplo n.º 10
0
 public Statement(Order order, Customer customer)
 {
     this.Order = order;
     this.Customer = customer;
 }
Ejemplo n.º 11
0
 public HomePageController(Customer customer, MovieRepository movieRepository)
 {
     this.customer = customer;
     this.movieRepository = movieRepository;
 }
Ejemplo n.º 12
0
 public Statement(Customer customer)
 {
     Customer = customer;
     Text = customer.Statement(customer.Cart.Rentals);
 }
Ejemplo n.º 13
0
 public CartController(Customer customer)
 {
     this.customer = customer;
 }
Ejemplo n.º 14
0
 public HomePageModel(IEnumerable<Movie> movies, Customer customer)
 {
     this.Movies = new List<Movie>(movies);
     this.Cart = customer.Cart;
 }
 public void SetUp()
 {
     customer = new Customer("John Smith");
     controller = new HomePageController(customer);
 }
 public void SetUp()
 {
     customer = new Customer();
     repository = new StatementRepository();
     controller = new StatementsController(repository, customer);
 }
Ejemplo n.º 17
0
 public StatementsController(StatementRepository repository, Customer customer)
 {
     this.repository = repository;
     this.customer = customer;
 }
Ejemplo n.º 18
0
 public IEnumerable<Statement> FindByCustomer(Customer customer)
 {
     return statements.Where(s => s.Customer == customer);
 }