예제 #1
0
        public void ShouldGetAndCacheCcLibraries()
        {
            // Setup
            var ccLibraryMock       = new Mock <ICcLibrary>();
            var cctsRepositoryMock  = new Mock <ICctsRepository>();
            var expectedCcLibraries = new[] { ccLibraryMock.Object };

            cctsRepositoryMock.Setup(r => r.GetAllLibraries()).Returns(expectedCcLibraries);

            // Events
            CcCache           ccCache     = CcCache.GetInstance(cctsRepositoryMock.Object);
            List <ICcLibrary> ccLibraries = ccCache.GetCcLibraries();

            ccCache.GetCcLibraries();

            // Assertion and Verification
            Assert.That(ccLibraries, Is.EquivalentTo(expectedCcLibraries));
            cctsRepositoryMock.Verify(r => r.GetAllLibraries(), Times.Exactly(1));
        }