예제 #1
0
        public void BasicProcessingOrchestratesFine()
        {
            var lines = new[] { "book1|1.5" };
            var books = new[] { new Book {
                                    Title = "book1", Price = 1.5M
                                } };

            A.CallTo(() => _bookDataProviderFake.GetBookData()).Returns(lines);
            A.CallTo(() => _bookParserFake.Parse(lines)).Returns(books);
            A.CallTo(() => _bookStorageFake.Persist(books)).DoesNothing();

            _bookProcessor.ProcessBooks();

            A.CallTo(() => _bookDataProviderFake.GetBookData()).MustHaveHappened(Repeated.Exactly.Once);
            A.CallTo(() => _bookParserFake.Parse(lines)).MustHaveHappened(Repeated.Exactly.Once);
            A.CallTo(() => _bookStorageFake.Persist(books)).MustHaveHappened(Repeated.Exactly.Once);
        }