activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jgo...@apache.org
Subject svn commit: r713434 - in /activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk: src/main/csharp/OpenWire/OpenWireFormat.cs src/test/csharp/InheritedTests.cs src/test/csharp/NMSConnectionFactoryTest.cs vs2008-activemq-test.csproj
Date Wed, 12 Nov 2008 17:47:22 GMT
Author: jgomes
Date: Wed Nov 12 09:47:21 2008
New Revision: 713434

URL: http://svn.apache.org/viewvc?rev=713434&view=rev
Log:
Refactored unit tests to use RowTest attributes for easier maintenance.
Unit tests are no longer inherited to be exposed.  The NUnit project should aggregate the
separate test assemblies to run a complete test of the system.
Refactored OpenWireFormat to minimize the locking of the wire format settings.

Removed:
    activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/InheritedTests.cs
Modified:
    activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs
    activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
    activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs?rev=713434&r1=713433&r2=713434&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs
(original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs
Wed Nov 12 09:47:21 2008
@@ -159,59 +159,71 @@
 			}
 		}
 
+		private BaseDataStreamMarshaller GetDataStreamMarshallerForType(byte dataType)
+		{
+			BaseDataStreamMarshaller dsm = this.dataMarshallers[dataType & 0xFF];
+			if(null == dsm)
+			{
+				throw new IOException("Unknown data type: " + dataType);
+			}
+			return dsm;
+		}
+
 		public void Marshal(Object o, BinaryWriter ds)
 		{
 			int size = 1;
 			if(o != null)
 			{
+				DataStructure c = (DataStructure) o;
+				byte type = c.GetDataStructureType();
+				BaseDataStreamMarshaller dsm;
+				bool _tightEncodingEnabled;
+				bool _sizePrefixDisabled;
+
 				lock(this.marshalLock)
 				{
-					DataStructure c = (DataStructure) o;
-					byte type = c.GetDataStructureType();
-					BaseDataStreamMarshaller dsm = dataMarshallers[type & 0xFF];
-					if(null == dsm)
+					dsm = GetDataStreamMarshallerForType(type);
+					_tightEncodingEnabled = this.tightEncodingEnabled;
+					_sizePrefixDisabled = this.sizePrefixDisabled;
+				}
+
+				if(_tightEncodingEnabled)
+				{
+					BooleanStream bs = new BooleanStream();
+					size += dsm.TightMarshal1(this, c, bs);
+					size += bs.MarshalledSize();
+
+					if(!_sizePrefixDisabled)
 					{
-						throw new IOException("Unknown data type: " + type);
+						ds.Write(size);
 					}
 
-					if(tightEncodingEnabled)
+					ds.Write(type);
+					bs.Marshal(ds);
+					dsm.TightMarshal2(this, c, ds, bs);
+				}
+				else
+				{
+					BinaryWriter looseOut = ds;
+					MemoryStream ms = null;
+
+					// If we are prefixing then we need to first write it to memory,
+					// otherwise we can write direct to the stream.
+					if(!_sizePrefixDisabled)
 					{
-						BooleanStream bs = new BooleanStream();
-						size += dsm.TightMarshal1(this, c, bs);
-						size += bs.MarshalledSize();
-
-						if(!sizePrefixDisabled)
-						{
-							ds.Write(size);
-						}
-
-						ds.Write(type);
-						bs.Marshal(ds);
-						dsm.TightMarshal2(this, c, ds, bs);
+						ms = new MemoryStream();
+						looseOut = new OpenWireBinaryWriter(ms);
+						looseOut.Write(size);
 					}
-					else
-					{
-						BinaryWriter looseOut = ds;
-						MemoryStream ms = null;
 
-						// If we are prefixing then we need to first write it to memory,
-						// otherwise we can write direct to the stream.
-						if(!sizePrefixDisabled)
-						{
-							ms = new MemoryStream();
-							looseOut = new OpenWireBinaryWriter(ms);
-							looseOut.Write(size);
-						}
-
-						looseOut.Write(type);
-						dsm.LooseMarshal(this, c, looseOut);
-
-						if(!sizePrefixDisabled)
-						{
-							ms.Position = 0;
-							looseOut.Write((int) ms.Length - 4);
-							ds.Write(ms.GetBuffer(), 0, (int) ms.Length);
-						}
+					looseOut.Write(type);
+					dsm.LooseMarshal(this, c, looseOut);
+
+					if(!_sizePrefixDisabled)
+					{
+						ms.Position = 0;
+						looseOut.Write((int) ms.Length - 4);
+						ds.Write(ms.GetBuffer(), 0, (int) ms.Length);
 					}
 				}
 			}
@@ -235,29 +247,29 @@
 
 			if(dataType != NULL_TYPE)
 			{
+				BaseDataStreamMarshaller dsm;
+				bool _tightEncodingEnabled;
+
 				lock(this.marshalLock)
 				{
-					BaseDataStreamMarshaller dsm = dataMarshallers[dataType & 0xFF];
-					if(null == dsm)
-					{
-						throw new IOException("Unknown data type: " + dataType);
-					}
+					dsm = GetDataStreamMarshallerForType(dataType);
+					_tightEncodingEnabled = this.tightEncodingEnabled;
+				}
 
-					Tracer.Debug("Parsing type: " + dataType + " with: " + dsm);
-					Object data = dsm.CreateObject();
+				Tracer.Debug("Parsing type: " + dataType + " with: " + dsm);
+				Object data = dsm.CreateObject();
 
-					if(tightEncodingEnabled)
-					{
-						BooleanStream bs = new BooleanStream();
-						bs.Unmarshal(dis);
-						dsm.TightUnmarshal(this, data, dis, bs);
-						return data;
-					}
-					else
-					{
-						dsm.LooseUnmarshal(this, data, dis);
-						return data;
-					}
+				if(_tightEncodingEnabled)
+				{
+					BooleanStream bs = new BooleanStream();
+					bs.Unmarshal(dis);
+					dsm.TightUnmarshal(this, data, dis, bs);
+					return data;
+				}
+				else
+				{
+					dsm.LooseUnmarshal(this, data, dis);
+					return data;
 				}
 			}
 			else
@@ -291,18 +303,14 @@
 				throw new IOException("No valid data structure type for: " + o + " of type: " + o.GetType());
 			}
 
+			BaseDataStreamMarshaller dsm;
 			lock(this.marshalLock)
 			{
-				BaseDataStreamMarshaller dsm = (BaseDataStreamMarshaller) dataMarshallers[type &
0xFF];
-
-				if(null == dsm)
-				{
-					throw new IOException("Unknown data type: " + type);
-				}
-
-				Tracer.Debug("Marshalling type: " + type + " with structure: " + o);
-				return 1 + dsm.TightMarshal1(this, o, bs);
+				dsm = GetDataStreamMarshallerForType(type);
 			}
+
+			Tracer.Debug("Marshalling type: " + type + " with structure: " + o);
+			return 1 + dsm.TightMarshal1(this, o, bs);
 		}
 
 		public void TightMarshalNestedObject2(DataStructure o, BinaryWriter ds, BooleanStream bs)
@@ -323,17 +331,14 @@
 			}
 			else
 			{
+				BaseDataStreamMarshaller dsm;
+
 				lock(this.marshalLock)
 				{
-					BaseDataStreamMarshaller dsm = (BaseDataStreamMarshaller) dataMarshallers[type &
0xFF];
-
-					if(null == dsm)
-					{
-						throw new IOException("Unknown data type: " + type);
-					}
-
-					dsm.TightMarshal2(this, o, ds, bs);
+					dsm = GetDataStreamMarshallerForType(type);
 				}
+
+				dsm.TightMarshal2(this, o, ds, bs);
 			}
 		}
 
@@ -342,36 +347,31 @@
 			if(bs.ReadBoolean())
 			{
 				DataStructure data;
+				BaseDataStreamMarshaller dsm;
+				byte dataType = dis.ReadByte();
 
 				lock(this.marshalLock)
 				{
-					byte dataType = dis.ReadByte();
-					BaseDataStreamMarshaller dsm = (BaseDataStreamMarshaller) dataMarshallers[dataType &
0xFF];
-
-					if(null == dsm)
-					{
-						throw new IOException("Unknown data type: " + dataType);
-					}
-
-					data = dsm.CreateObject();
+					dsm = GetDataStreamMarshallerForType(dataType);
+				}
 
-					if(data.IsMarshallAware() && bs.ReadBoolean())
-					{
-						dis.ReadInt32();
-						dis.ReadByte();
+				data = dsm.CreateObject();
+				if(data.IsMarshallAware() && bs.ReadBoolean())
+				{
+					dis.ReadInt32();
+					dis.ReadByte();
 
-						BooleanStream bs2 = new BooleanStream();
-						bs2.Unmarshal(dis);
-						dsm.TightUnmarshal(this, data, dis, bs2);
-
-						// TODO: extract the sequence from the dis and associate it.
-						//                MarshallAware ma = (MarshallAware)data
-						//                ma.setCachedMarshalledForm(this, sequence);
-					}
-					else
-					{
-						dsm.TightUnmarshal(this, data, dis, bs);
-					}
+					BooleanStream bs2 = new BooleanStream();
+					bs2.Unmarshal(dis);
+					dsm.TightUnmarshal(this, data, dis, bs2);
+
+					// TODO: extract the sequence from the dis and associate it.
+					//                MarshallAware ma = (MarshallAware)data
+					//                ma.setCachedMarshalledForm(this, sequence);
+				}
+				else
+				{
+					dsm.TightUnmarshal(this, data, dis, bs);
 				}
 
 				return data;
@@ -387,20 +387,16 @@
 			dataOut.Write(o != null);
 			if(o != null)
 			{
+				BaseDataStreamMarshaller dsm;
 				byte type = o.GetDataStructureType();
 				dataOut.Write(type);
 
 				lock(this.marshalLock)
 				{
-					BaseDataStreamMarshaller dsm = (BaseDataStreamMarshaller) dataMarshallers[type &
0xFF];
-
-					if(null == dsm)
-					{
-						throw new IOException("Unknown data type: " + type);
-					}
-
-					dsm.LooseMarshal(this, o, dataOut);
+					dsm = GetDataStreamMarshallerForType(type);
 				}
+
+				dsm.LooseMarshal(this, o, dataOut);
 			}
 		}
 
@@ -408,22 +404,17 @@
 		{
 			if(dis.ReadBoolean())
 			{
+				BaseDataStreamMarshaller dsm;
 				byte dataType = dis.ReadByte();
 				DataStructure data;
 
 				lock(this.marshalLock)
 				{
-					BaseDataStreamMarshaller dsm = (BaseDataStreamMarshaller) dataMarshallers[dataType &
0xFF];
-
-					if(null == dsm)
-					{
-						throw new IOException("Unknown data type: " + dataType);
-					}
-
-					data = dsm.CreateObject();
-					dsm.LooseUnmarshal(this, data, dis);
+					dsm = GetDataStreamMarshallerForType(dataType);
 				}
 
+				data = dsm.CreateObject();
+				dsm.LooseUnmarshal(this, data, dis);
 				return data;
 			}
 			else

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs?rev=713434&r1=713433&r2=713434&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
(original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/NMSConnectionFactoryTest.cs
Wed Nov 12 09:47:21 2008
@@ -13,40 +13,28 @@
  * 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;
-using NUnit.Framework;
-
-namespace Apache.NMS.ActiveMQ.Test
-{
-    [TestFixture]
-    public class NMSConnectionFactoryTest 
-    {
-        [Test]
-        public void TestTcpURI()
-        {
-            NMSConnectionFactory factory = new NMSConnectionFactory("tcp://localhost:61616");
-            Assert.IsNotNull(factory);
-            Assert.IsNotNull(factory.ConnectionFactory);
-            Assert.IsTrue(factory.ConnectionFactory is Apache.NMS.ActiveMQ.ConnectionFactory);
-        }
-
-		[Test]
-        public void TestStompURI()
-        {
-            NMSConnectionFactory factory = new NMSConnectionFactory("stomp://localhost:61613");
-            Assert.IsNotNull(factory);
-            Assert.IsNotNull(factory.ConnectionFactory);
-            Assert.IsTrue(factory.ConnectionFactory is Apache.NMS.ActiveMQ.ConnectionFactory);
-        }
-
-        [Test]
-        public void TestActiveMQURI()
-        {
-            NMSConnectionFactory factory = new NMSConnectionFactory("activemq:tcp://localhost:61616");
-            Assert.IsNotNull(factory);
-            Assert.IsNotNull(factory.ConnectionFactory);
-            Assert.IsTrue(factory.ConnectionFactory is Apache.NMS.ActiveMQ.ConnectionFactory);
-        }
-    }
-}
+ */
+
+using NUnit.Framework;
+using NUnit.Framework.Extensions;
+
+namespace Apache.NMS.ActiveMQ.Test
+{
+	[TestFixture]
+	public class NMSConnectionFactoryTest
+	{
+		[RowTest]
+		[Row("tcp://localhost:61616")]
+		[Row("stomp://localhost:61613")]
+		[Row("activemq:tcp://localhost:61616")]
+		[Row("activemq:failover://localhost:61616")]
+		[Row("activemq:failover://(tcp://localhost:61616,tcp://localhost:61616)")]
+		public void TestURI(string connectionURI)
+		{
+			NMSConnectionFactory factory = new NMSConnectionFactory(connectionURI);
+			Assert.IsNotNull(factory);
+			Assert.IsNotNull(factory.ConnectionFactory);
+			Assert.IsTrue(factory.ConnectionFactory is Apache.NMS.ActiveMQ.ConnectionFactory);
+		}
+	}
+}

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj?rev=713434&r1=713433&r2=713434&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/vs2008-activemq-test.csproj Wed Nov
12 09:47:21 2008
@@ -67,7 +67,6 @@
       <SubType>Code</SubType>
     </Compile>
     <Compile Include="src\test\csharp\CommonAssemblyInfo.cs" />
-    <Compile Include="src\test\csharp\InheritedTests.cs" />
     <Compile Include="src\test\csharp\NMSConnectionFactoryTest.cs" />
     <Compile Include="src\test\csharp\OpenWire\BooleanStreamTest.cs">
       <SubType>Code</SubType>



Mime
View raw message