public void ShouldGetAndCacheBieLibraryByName() { // Setup var bieLibraryMock = new Mock <IBieLibrary>(); bieLibraryMock.SetupGet(l => l.Name).Returns("bielib1"); var cctsRepositoryMock = new Mock <ICctsRepository>(); cctsRepositoryMock.Setup(r => r.GetAllLibraries()).Returns(new[] { bieLibraryMock.Object }); // Events CcCache ccCache = CcCache.GetInstance(cctsRepositoryMock.Object); IBieLibrary bieLibrary = ccCache.GetBieLibraryByName("bielib1"); ccCache.GetBieLibraryByName("bielib1"); // Assertion and Verification Assert.That(bieLibrary, Is.SameAs(bieLibraryMock.Object)); cctsRepositoryMock.Verify(r => r.GetAllLibraries(), Times.Exactly(1)); }