Exemplo n.º 1
0
        public void ComposingTheExampleSlideshow_ShouldReturnTheExpectedResult()
        {
            var photo0 = new Photo {
                Id = 0, Orientation = Orientation.Horizontal, Tags = { "cat", "beach", "sun" }
            };
            var photo1 = new Photo {
                Id = 1, Orientation = Orientation.Vertical, Tags = { "selfie", "smile" }
            };
            var photo2 = new Photo {
                Id = 2, Orientation = Orientation.Vertical, Tags = { "garden", "selfie" }
            };
            var photo3 = new Photo {
                Id = 3, Orientation = Orientation.Horizontal, Tags = { "cat", "garden" }
            };

            var slide0 = new Slide {
                Photos = new List <Photo> {
                    photo0
                }
            };
            var slide1 = new Slide {
                Photos = new List <Photo> {
                    photo1, photo2
                }
            };
            var slide2 = new Slide {
                Photos = new List <Photo> {
                    photo3
                }
            };

            var slides = new List <Slide>
            {
                slide0,
                slide1,
                slide2,
            };
            var slideShow = new SlideShow();

            var solution = slideShow.Compose(slides).ToList();

            solution
            .Should().ContainInOrder(new List <Slide> {
                slide0, slide2, slide1
            });
        }