Example #1
0
        public void Single_Sender_Send_Message_with_Single_Consmer()
        {
            byte[]          sendBody = Encoding.UTF8.GetBytes(sendString);
            CamoranProducer producer = null;
            CamoranConsumer consumer = null;

            producer = produerTestcase
                       .CreateProducer()
                       .BindTopic(topic)
                       .SetBody(sendBody)
                       .BindSendCallBack((response) =>
            {
                sendCount++;
                Debug.WriteLine("sendCount:" + sendCount);
                isSendOver = sendCount == TestConfig.Producer_Send_Count;
                if (isSendOver)
                {
                    producer.Stop();
                    producer.Close();
                }
            });
            ;


            consumer = consumerTestcase.CreateConsumer(Guid.NewGuid())
                       .SubscribeTopic(topic)
                       .RegisteConsumeAction((response) =>
            {
                consumeCount++;
                Debug.WriteLine("ConsumeCount:" + consumeCount);
                isConsumeOver = consumeCount >= TestConfig.Producer_Send_Count;
                if (isConsumeOver)
                {
                    consumer.Stop();
                    consumer.Close();
                }
                receiveString = Encoding.UTF8.GetString(response.QueueMeesageBody);
            });
            ;

            producer.Start();
            consumer.Start();

            //producer.Close();
            //producer.Stop();
            Assert.IsTrue(isConsumeOver);

            Assert.AreEqual(sendString, receiveString);
        }