public void TestInitialize() { _listener = new MyParticipantListener(); _participant = AssemblyInitializer.Factory.CreateParticipant(AssemblyInitializer.RTPS_DOMAIN, _listener); Assert.IsNotNull(_participant); _participant.BindRtpsUdpTransportConfig(); TestStructTypeSupport support = new TestStructTypeSupport(); string typeName = support.GetTypeName(); ReturnCode result = support.RegisterType(_participant, typeName); Assert.AreEqual(ReturnCode.Ok, result); _topic = _participant.CreateTopic(TestContext.TestName, typeName); Assert.IsNotNull(_topic); Assert.IsNull(_topic.GetListener()); Assert.AreEqual(TestContext.TestName, _topic.Name); Assert.AreEqual(typeName, _topic.TypeName); SubscriberQos sQos = new SubscriberQos(); sQos.EntityFactory.AutoenableCreatedEntities = false; sQos.Presentation.OrderedAccess = true; sQos.Presentation.CoherentAccess = true; sQos.Presentation.AccessScope = PresentationQosPolicyAccessScopeKind.InstancePresentationQos; _subscriber = _participant.CreateSubscriber(sQos); Assert.IsNotNull(_subscriber); PublisherQos pQos = new PublisherQos(); pQos.EntityFactory.AutoenableCreatedEntities = false; pQos.Presentation.OrderedAccess = true; pQos.Presentation.CoherentAccess = true; pQos.Presentation.AccessScope = PresentationQosPolicyAccessScopeKind.InstancePresentationQos; _publisher = _participant.CreatePublisher(pQos); Assert.IsNotNull(_publisher); _writer = _publisher.CreateDataWriter(_topic); Assert.IsNotNull(_writer); _dataWriter = new TestStructDataWriter(_writer); DataReaderQos qos = new DataReaderQos(); qos.Reliability.Kind = ReliabilityQosPolicyKind.ReliableReliabilityQos; _reader = _subscriber.CreateDataReader(_topic, qos); Assert.IsNotNull(_reader); }
public void TestCreateParticipant() { // Test simplest overload DomainParticipant domainParticipant0 = AssemblyInitializer.Factory.CreateParticipant(AssemblyInitializer.RTPS_DOMAIN); Assert.IsNotNull(domainParticipant0); Assert.AreEqual(AssemblyInitializer.RTPS_DOMAIN, domainParticipant0.DomainId); Assert.IsNull(domainParticipant0.GetListener()); DomainParticipantQos qos = new DomainParticipantQos(); ReturnCode result = domainParticipant0.GetQos(qos); Assert.AreEqual(ReturnCode.Ok, result); TestHelper.TestDefaultDomainParticipantQos(qos); // Test overload with QoS parameter qos = TestHelper.CreateNonDefaultDomainParticipantQos(); DomainParticipant domainParticipant1 = AssemblyInitializer.Factory.CreateParticipant(AssemblyInitializer.RTPS_DOMAIN, qos); Assert.IsNotNull(domainParticipant1); Assert.AreEqual(AssemblyInitializer.RTPS_DOMAIN, domainParticipant1.DomainId); Assert.IsNull(domainParticipant1.GetListener()); qos = new DomainParticipantQos(); result = domainParticipant1.GetQos(qos); Assert.AreEqual(ReturnCode.Ok, result); TestHelper.TestNonDefaultDomainParticipantQos(qos); // Test overload with listener parameter MyParticipantListener listener = new MyParticipantListener(); DomainParticipant domainParticipant2 = AssemblyInitializer.Factory.CreateParticipant(AssemblyInitializer.RTPS_DOMAIN, listener); Assert.IsNotNull(domainParticipant2); Assert.AreEqual(AssemblyInitializer.RTPS_DOMAIN, domainParticipant2.DomainId); Assert.IsNotNull(domainParticipant2.GetListener()); result = domainParticipant2.GetQos(qos); Assert.AreEqual(ReturnCode.Ok, result); TestHelper.TestDefaultDomainParticipantQos(qos); // Test overload with listener and StatusMask parameters DomainParticipant domainParticipant3 = AssemblyInitializer.Factory.CreateParticipant(AssemblyInitializer.RTPS_DOMAIN, listener, StatusMask.NoStatusMask); Assert.IsNotNull(domainParticipant3); Assert.AreEqual(AssemblyInitializer.RTPS_DOMAIN, domainParticipant3.DomainId); Assert.IsNotNull(domainParticipant3.GetListener()); result = domainParticipant2.GetQos(qos); Assert.AreEqual(ReturnCode.Ok, result); TestHelper.TestDefaultDomainParticipantQos(qos); // Test overload with QoS and listener parameters qos = new DomainParticipantQos(); qos.EntityFactory.AutoenableCreatedEntities = false; qos.UserData.Value = new List <byte> { 0x42 }; DomainParticipant domainParticipant4 = AssemblyInitializer.Factory.CreateParticipant(AssemblyInitializer.RTPS_DOMAIN, qos, listener); Assert.IsNotNull(domainParticipant4); Assert.AreEqual(AssemblyInitializer.RTPS_DOMAIN, domainParticipant4.DomainId); result = domainParticipant4.GetQos(qos); Assert.AreEqual(ReturnCode.Ok, result); TestHelper.TestNonDefaultDomainParticipantQos(qos); // Test full call overload qos = new DomainParticipantQos(); qos.EntityFactory.AutoenableCreatedEntities = false; qos.UserData.Value = new List <byte> { 0x42 }; DomainParticipant domainParticipant5 = AssemblyInitializer.Factory.CreateParticipant(AssemblyInitializer.RTPS_DOMAIN, qos, listener, StatusMask.NoStatusMask); Assert.IsNotNull(domainParticipant5); Assert.AreEqual(AssemblyInitializer.RTPS_DOMAIN, domainParticipant5.DomainId); result = domainParticipant5.GetQos(qos); Assert.AreEqual(ReturnCode.Ok, result); TestHelper.TestNonDefaultDomainParticipantQos(qos); // Delete all participants result = AssemblyInitializer.Factory.DeleteParticipant(domainParticipant0); Assert.AreEqual(ReturnCode.Ok, result); result = AssemblyInitializer.Factory.DeleteParticipant(domainParticipant1); Assert.AreEqual(ReturnCode.Ok, result); result = AssemblyInitializer.Factory.DeleteParticipant(domainParticipant2); Assert.AreEqual(ReturnCode.Ok, result); result = AssemblyInitializer.Factory.DeleteParticipant(domainParticipant3); Assert.AreEqual(ReturnCode.Ok, result); result = AssemblyInitializer.Factory.DeleteParticipant(domainParticipant4); Assert.AreEqual(ReturnCode.Ok, result); result = AssemblyInitializer.Factory.DeleteParticipant(domainParticipant5); Assert.AreEqual(ReturnCode.Ok, result); }