Esempio n. 1
0
        public void TestLoadMoniker()
        {
            var mockProvider = new MockProvider();

            using (var provider = new IpcProviderWithMemoization(mockProvider))
            {
                // load some monikers
                var id       = Guid.NewGuid().ToString();
                var moniker1 = provider.LoadOrCreateMoniker(id);
                var moniker2 = provider.LoadOrCreateMoniker(id);

                // assert they are equal and that no underlying moniker was created
                Assert.Equal(moniker1, moniker2);
                Assert.Equal(0, mockProvider.NumCreateMonikerCalls);

                // serialize those monikers
                provider.RenderConnectionString(moniker1);
                provider.RenderConnectionString(moniker2);

                // assert that exactly 1 underlying moniker was created
                Assert.Equal(1, mockProvider.NumCreateMonikerCalls);
                Assert.Equal(1, mockProvider.NumRenderConnectionStringCalls);
            }
        }