Ejemplo n.º 1
0
        public void DoesNotValidate()
        {
            var movie = new Movie();

            var validationError = movie["Name"];

            Assert.IsFalse(String.IsNullOrEmpty(validationError));
        }
Ejemplo n.º 2
0
        public Movie Save(Movie movie)
        {
            if (movie.Id == -1)
            {
                var newest = _Movies.OrderByDescending(m => m.Id).First();
                movie.Id = newest.Id + 1;
                _Movies.Add(movie);
            }

            return movie;
        }
        public void LoadMovie()
        {
            _ChangedProperties = new List<String>();
            var viewModel = new DetailViewModel();
            viewModel.PropertyChanged += HandlePropertyChanged;

            var movie = new Movie();
            viewModel.Load(movie);

            Assert.AreSame(movie, viewModel.Movie);
            Assert.IsTrue(_ChangedProperties.Contains("Movie"));
        }
Ejemplo n.º 4
0
        public void Genre()
        {
            _PropertiesChanged = new List<String>();

            var genre = Genres.Comedy;

            var movie = new Movie();
            movie.PropertyChanged += HandlePropertyChanged;

            movie.Genre = genre;

            Assert.AreEqual(genre, movie.Genre);
            Assert.IsTrue(_PropertiesChanged.Contains("Genre"));
        }
Ejemplo n.º 5
0
        public void CreateWithParams()
        {
            var id = new Random().Next();
            var name = Guid.NewGuid().ToString();
            var genre = Genres.Action;
            var rating = Ratings.G;

            var movie = new Movie(id, name, genre, rating);

            Assert.AreEqual(id, movie.Id);
            Assert.AreEqual(name, movie.Name);
            Assert.AreEqual(genre, movie.Genre);
            Assert.AreEqual(rating, movie.Rating);
        }
        public void Close()
        {
            var container = new WindsorContainer();
            ComponentContainer.Container = container;

            var actualViewName = String.Empty;
            var messageBus = Substitute.For<IMessageBus>();
            messageBus
                .When(bus => bus.Publish<CloseViewMessage>(Arg.Any<CloseViewMessage>()))
                .Do(arg => actualViewName = ((CloseViewMessage)arg[0]).ViewName);
            container.Register(
                Castle.MicroKernel.Registration.Component.For<IMessageBus>().Instance(messageBus));

            var movie = new Movie();
            var viewModel = new DetailViewModel();
            viewModel.Load(movie);

            viewModel.CloseCommand.Execute(null);

            messageBus.ReceivedCalls();
            Assert.AreEqual(viewModel.Title, actualViewName);
        }
Ejemplo n.º 7
0
        public void Load(Movie movie)
        {
            Movie = movie;
            if (movie.Id == -1)
            {
                IsEditable = true;
            }

            Title = String.Format("{0} Details", Movie.Name);
        }
Ejemplo n.º 8
0
        public void SelectMovie(Movie movie)
        {
            var message = new ShowViewMessage(MoviesViewTargets.Detail, movie);

            MessageBus.Publish<ShowViewMessage>(message);
        }
Ejemplo n.º 9
0
        public void Rating()
        {
            _PropertiesChanged = new List<String>();

            var rating = Ratings.PG;

            var movie = new Movie();
            movie.PropertyChanged += HandlePropertyChanged;

            movie.Rating = rating;

            Assert.AreEqual(rating, movie.Rating);
            Assert.IsTrue(_PropertiesChanged.Contains("Rating"));
        }
Ejemplo n.º 10
0
        public void Name()
        {
            _PropertiesChanged = new List<String>();

            var name = Guid.NewGuid().ToString();

            var movie = new Movie();
            movie.PropertyChanged += HandlePropertyChanged;

            movie.Name = name;

            Assert.AreEqual(name, movie.Name);
            Assert.IsTrue(_PropertiesChanged.Contains("Name"));
        }
Ejemplo n.º 11
0
        public void Error()
        {
            var movie = new Movie();

            var error = movie.Error;
        }
Ejemplo n.º 12
0
        public void Create()
        {
            var movie = new Movie();

            Assert.AreEqual(-1, movie.Id);
        }
Ejemplo n.º 13
0
        public void Validates()
        {
            var name = Guid.NewGuid().ToString();
            var movie = new Movie();
            movie.Name = name;

            var validationError = movie["Name"];

            Assert.IsTrue(String.IsNullOrEmpty(validationError));
        }
Ejemplo n.º 14
0
        public void Title()
        {
            var viewModel = new DetailViewModel();

            var movie = new Movie(new Random().Next(),
                Guid.NewGuid().ToString(),
                Core.Models.Genres.Action,
                Core.Models.Ratings.G);
            viewModel.Load(movie);

            Assert.AreEqual(String.Format("{0} Details", movie.Name), viewModel.Title);
        }
Ejemplo n.º 15
0
        public void Save()
        {
            var container = new WindsorContainer();
            ComponentContainer.Container = container;

            var repository = Substitute.For<IMovieRepository>();
            container.Register(
                Castle.MicroKernel.Registration.Component.For<IMovieRepository>().Instance(repository));

            var messageShower = Substitute.For<IMessageShower>();
            container.Register(
                Castle.MicroKernel.Registration.Component.For<IMessageShower>().Instance(messageShower));

            var movie = new Movie();
            var viewModel = new DetailViewModel();
            viewModel.Load(movie);

            viewModel.SaveCommand.Execute(null);

            repository.Received().Save(Arg.Is<Movie>(movie));
        }