public void Test()
{
SimulationTransportAddress.Enable();
SimulationTransportAddressOther.Enable();
TransportAddress tas = TransportAddressFactory.CreateInstance("b.s://234580");
Assert.AreEqual(tas.ToString(), "b.s://234580", "Simulation string");
Assert.AreEqual((tas as SimulationTransportAddress).ID, 234580, "Simulation id");
Assert.AreEqual(TransportAddress.TAType.S, tas.TransportAddressType, "Simulation ta type");
TransportAddress taso = TransportAddressFactory.CreateInstance("b.so://234580");
Assert.AreEqual(taso.ToString(), "b.so://234580", "Simulation string");
Assert.AreEqual((taso as SimulationTransportAddressOther).ID, 234580, "Simulation id");
Assert.AreEqual(TransportAddress.TAType.SO, taso.TransportAddressType, "Simulation ta type");
Assert.AreNotEqual(taso, tas, "TAs not equal");
Assert.AreNotEqual(taso.TransportAddressType, tas.TransportAddressType, "Type not equal");
var tas1 = TransportAddressFactory.CreateInstance("b.s://-234581");
Assert.AreEqual(-234581, (tas1 as SimulationTransportAddress).ID);
var tas2 = (tas as SimulationTransportAddress).Invert();
Assert.AreEqual(tas1, tas2, "Invert equal");
}