public void TrySendMultipartMessageTest()
        {
            var count = 0;

            var socket = new MockOutgoingSocket((ref Msg msg, TimeSpan timeout, bool more) =>
            {
                if (count == 0)
                {
                    Assert.Equal(TimeSpan.FromSeconds(0), timeout);
                    Assert.Equal(1, msg.Data.Length);
                    Assert.Equal(1, msg.Data[0]);
                    Assert.True(more);
                    count++;
                }
                else
                {
                    Assert.Equal(SendReceiveConstants.InfiniteTimeout, timeout);
                    Assert.Equal(1, msg.Data.Length);
                    Assert.Equal(2, msg.Data[0]);
                    Assert.False(more);
                    count++;
                }

                return(true);
            });

            var message = new NetMQMessage();

            message.Append(new byte[] { 1 });
            message.Append(new byte[] { 2 });

            Assert.True(socket.TrySendMultipartMessage(message));
            Assert.Equal(2, count);
        }
        public void TrySendMultipartMessageFailed()
        {
            var count = 0;

            var socket = new MockOutgoingSocket((ref Msg msg, TimeSpan timeout, bool more) =>
            {
                Assert.Equal(TimeSpan.FromSeconds(0), timeout);
                Assert.Equal(1, msg.Data.Length);
                Assert.Equal(1, msg.Data[0]);
                Assert.True(more);
                count++;

                return(false);
            });

            var message = new NetMQMessage();

            message.Append(new byte[] { 1 });
            message.Append(new byte[] { 2 });

            Assert.False(socket.TrySendMultipartMessage(message));
            Assert.Equal(1, count);
        }
        public void TrySendMultipartMessageFailed()
        {
            var count = 0;

            var socket = new MockOutgoingSocket((ref Msg msg, TimeSpan timeout, bool more) =>
            {
                Assert.AreEqual(TimeSpan.FromSeconds(0), timeout);
                Assert.AreEqual(1, msg.Data.Length);
                Assert.AreEqual(1, msg.Data[0]);
                Assert.IsTrue(more);
                count++;

                return false;
            });

            var message = new NetMQMessage();
            message.Append(new byte[] { 1 });
            message.Append(new byte[] { 2 });

            Assert.IsFalse(socket.TrySendMultipartMessage(message));
            Assert.AreEqual(1, count);
        }
        public void TrySendMultipartMessageTest()
        {
            var count = 0;

            var socket = new MockOutgoingSocket((ref Msg msg, TimeSpan timeout, bool more) =>
            {
                if (count == 0)
                {
                    Assert.AreEqual(TimeSpan.FromSeconds(0), timeout);
                    Assert.AreEqual(1, msg.Data.Length);
                    Assert.AreEqual(1, msg.Data[0]);
                    Assert.IsTrue(more);
                    count++;
                }
                else
                {
                    Assert.AreEqual(SendReceiveConstants.InfiniteTimeout, timeout);
                    Assert.AreEqual(1, msg.Data.Length);
                    Assert.AreEqual(2, msg.Data[0]);
                    Assert.IsFalse(more);
                    count++;
                }

                return true;
            });

            var message = new NetMQMessage();
            message.Append(new byte[] {1});
            message.Append(new byte[] {2});

            Assert.IsTrue(socket.TrySendMultipartMessage(message));
            Assert.AreEqual(2, count);
        }