Example #1
0
        public void TestCreateNewMonikerReturnsUniqueMonikers(IIpcProvider provider)
        {
            var m1 = provider.CreateNewMoniker();
            var m2 = provider.CreateNewMoniker();

            Assert.NotNull(m1);
            Assert.NotNull(m2);
            Assert.NotEqual(m1, m2);
        }
Example #2
0
        public void TestRenderConnectionStringReturnsSameString(IIpcProvider provider)
        {
            var m1       = provider.CreateNewMoniker();
            var connStr1 = provider.RenderConnectionString(m1);
            var connStr2 = provider.RenderConnectionString(m1);

            Assert.NotNull(connStr1);
            Assert.NotNull(connStr2);
            Assert.Equal(connStr1, connStr2);
        }
Example #3
0
        public void TestLoadOrCreteMoniker(IIpcProvider provider)
        {
            var monikerId = "some arbitrary string";
            var moniker   = provider.LoadOrCreateMoniker(monikerId);

            XAssert.AreEqual(monikerId, moniker.Id);
            var monikerClone = provider.LoadOrCreateMoniker(monikerId);

            XAssert.AreEqual(moniker, monikerClone);
            XAssert.AreEqual(moniker.GetHashCode(), monikerClone.GetHashCode());

            var differentMoniker = provider.CreateNewMoniker();

            XAssert.AreNotEqual(moniker, differentMoniker);
            XAssert.AreNotEqual(moniker.GetHashCode(), differentMoniker.GetHashCode());
        }
        /// <summary>
        /// Async version of <see cref="WithIpcServer(IIpcProvider, IIpcOperationExecutor, IServerConfig, Action{IIpcMoniker, IServer})"/>
        /// </summary>
        protected static async Task WithIpcServer(IIpcProvider provider, IIpcOperationExecutor executor, IServerConfig config, Func <IIpcMoniker, IServer, Task> testAction)
        {
            var moniker = provider.CreateNewMoniker();
            var server  = provider.GetServer(provider.RenderConnectionString(moniker), config);

            server.Start(executor);
            try
            {
                await testAction(moniker, server);
            }
            finally
            {
                server.RequestStop();
                await server.Completion;
                server.Dispose();
            }
        }
Example #5
0
 /// <summary>
 /// Creates a new moniker (<see cref="IIpcProvider.CreateNewMoniker"/>) and then renders
 /// it to a connection string (<see cref="IIpcProvider.RenderConnectionString"/>).
 /// </summary>
 public static string CreateNewConnectionString(this IIpcProvider ipcProvider)
 {
     return(ipcProvider.RenderConnectionString(ipcProvider.CreateNewMoniker()));
 }