| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| using Apache.NMS.Stomp.Commands; |
| using Apache.NMS.Stomp.Protocol; |
| using NUnit.Framework; |
| |
| namespace Apache.NMS.Stomp.Test |
| { |
| [TestFixture] |
| public class StompHelperTest |
| { |
| [Test] |
| public void ConsumerIdMarshallingWorks() |
| { |
| ConsumerId id = new ConsumerId(); |
| id.ConnectionId = "cheese"; |
| id.SessionId = 2; |
| id.Value = 3; |
| |
| string text = id.ToString(); |
| Assert.AreEqual("cheese:2:3", text, "ConsumerId as stomp"); |
| |
| ConsumerId another = new ConsumerId("abc:5:6"); |
| Assert.AreEqual("abc", another.ConnectionId, "extracting consumerId.ConnectionId"); |
| Assert.AreEqual(5, another.SessionId, "extracting consumerId.SessionId"); |
| Assert.AreEqual(6, another.Value, "extracting consumerId.Value"); |
| } |
| |
| [Test] |
| public void MessageIdMarshallingWorks() |
| { |
| ProducerId id = new ProducerId(); |
| id.ConnectionId = "cheese"; |
| id.SessionId = 2; |
| id.Value = 3; |
| |
| MessageId mid = new MessageId(); |
| mid.ProducerId = id; |
| mid.BrokerSequenceId = 5; |
| mid.ProducerSequenceId = 6; |
| |
| string text = mid.ToString(); |
| Assert.AreEqual("cheese:2:3:6", text, "MessageId as stomp"); |
| |
| MessageId mid2 = new MessageId("abc:5:6:7:8"); |
| Assert.AreEqual(8, mid2.ProducerSequenceId, "extracting mid2.ProducerSequenceId"); |
| |
| ProducerId another = mid2.ProducerId; |
| Assert.AreEqual(7, another.Value, "extracting another.Value"); |
| Assert.AreEqual(6, another.SessionId, "extracting another.SessionId"); |
| Assert.AreEqual("abc:5", another.ConnectionId, "extracting another.ConnectionId"); |
| } |
| |
| // TODO destination stuff |
| |
| // [Test] |
| // public void DestinationMarshallingWorks() |
| // { |
| // Assert.AreEqual("/queue/FOO.BAR", StompHelper.ToStomp(new Queue("FOO.BAR")), "queue"); |
| // Assert.AreEqual("/topic/FOO.BAR", StompHelper.ToStomp(new Topic("FOO.BAR")), "topic"); |
| // Assert.AreEqual("/temp-queue/FOO.BAR", StompHelper.ToStomp(new TempQueue("FOO.BAR")), |
| // "temporary queue"); |
| // Assert.AreEqual("/temp-topic/FOO.BAR", StompHelper.ToStomp(new TempTopic("FOO.BAR")), |
| // "temporary topic"); |
| // |
| // Assert.AreEqual(new Queue("FOO.BAR"), StompHelper.ToDestination("/queue/FOO.BAR"), |
| // "queue from Stomp"); |
| // Assert.AreEqual(new Topic("FOO.BAR"), StompHelper.ToDestination("/topic/FOO.BAR"), |
| // "topic from Stomp"); |
| // Assert.AreEqual(new TempQueue("FOO.BAR"), |
| // StompHelper.ToDestination("/temp-queue/FOO.BAR"), "temporary queue from Stomp"); |
| // Assert.AreEqual(new TempTopic("FOO.BAR"), |
| // StompHelper.ToDestination("/temp-topic/FOO.BAR"), "temporary topic from Stomp"); |
| // } |
| } |
| } |