[jboss-cvs] JBoss Messaging SVN: r5801 - in trunk: dotnet and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 3 21:26:19 EST 2009


Author: clebert.suconic at jboss.com
Date: 2009-02-03 21:26:19 -0500 (Tue, 03 Feb 2009)
New Revision: 5801

Added:
   trunk/dotnet/
   trunk/dotnet/JBMClient/
   trunk/dotnet/JBMClient/JBMClient.csproj
   trunk/dotnet/JBMClient/Properties/
   trunk/dotnet/JBMClient/Properties/AssemblyInfo.cs
   trunk/dotnet/JBMClient/util/
   trunk/dotnet/JBMClient/util/DataConstants.cs
   trunk/dotnet/JBMClient/util/SimpleString.cs
   trunk/dotnet/JBMClientSolution.sln
   trunk/dotnet/JBMClientSolution.vsmdi
   trunk/dotnet/JBMClientTest/
   trunk/dotnet/JBMClientTest/AuthoringTests.txt
   trunk/dotnet/JBMClientTest/JBMClientTest.csproj
   trunk/dotnet/JBMClientTest/JBMClientTest.userprefs
   trunk/dotnet/JBMClientTest/Properties/
   trunk/dotnet/JBMClientTest/Properties/AssemblyInfo.cs
   trunk/dotnet/JBMClientTest/util/
   trunk/dotnet/JBMClientTest/util/JBMTest.cs
   trunk/dotnet/JBMClientTest/util/SimpleStringTest.cs
   trunk/dotnet/JSMClient.vsmdi
   trunk/dotnet/LocalTestRun.testrunconfig
Modified:
   trunk/build-messaging.xml
Log:
moving the initial .net project to the main branch

Modified: trunk/build-messaging.xml
===================================================================
--- trunk/build-messaging.xml	2009-02-03 14:59:37 UTC (rev 5800)
+++ trunk/build-messaging.xml	2009-02-04 02:26:19 UTC (rev 5801)
@@ -1170,8 +1170,7 @@
              includeantruntime="${junit.includeantruntime}"
              haltonerror="${junit.haltonerror}"
              haltonfailure="${junit.haltonfailure}"
-             showoutput="${junit.showoutput}"
-             timeout="${stress.junit.timeout}">
+             showoutput="${junit.showoutput}">
 
           <sysproperty key="user.home" value="${user.home}"/>
           <sysproperty key="java.io.tmpdir" value="${java.io.tmpdir}"/>

Added: trunk/dotnet/JBMClient/JBMClient.csproj
===================================================================
--- trunk/dotnet/JBMClient/JBMClient.csproj	                        (rev 0)
+++ trunk/dotnet/JBMClient/JBMClient.csproj	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{675AD929-BF42-4930-AC39-603D5EC52D58}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>JSMClient</RootNamespace>
+    <AssemblyName>JSMClient</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <OutputType>Library</OutputType>
+    <AssemblyName>JSMClient</AssemblyName>
+    <RootNamespace>JSMClient</RootNamespace>
+    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <OutputType>Library</OutputType>
+    <AssemblyName>JSMClient</AssemblyName>
+    <DebugSymbols>true</DebugSymbols>
+    <RootNamespace>JSMClient</RootNamespace>
+    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="util\DataConstants.cs" />
+    <Compile Include="util\SimpleString.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: trunk/dotnet/JBMClient/Properties/AssemblyInfo.cs
===================================================================
--- trunk/dotnet/JBMClient/Properties/AssemblyInfo.cs	                        (rev 0)
+++ trunk/dotnet/JBMClient/Properties/AssemblyInfo.cs	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("JSMClient")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("JSMClient")]
+[assembly: AssemblyCopyright("Copyright ©  2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("e865a084-f8a8-4d0d-b286-2c023ce93e80")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: trunk/dotnet/JBMClient/util/DataConstants.cs
===================================================================
--- trunk/dotnet/JBMClient/util/DataConstants.cs	                        (rev 0)
+++ trunk/dotnet/JBMClient/util/DataConstants.cs	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JSMClient.util
+{
+    public class DataConstants
+    {
+        public const int SIZE_INT = 4;
+        public const int SIZE_BOOLEAN = 1;
+        public const int SIZE_LONG = 8;
+        public const int SIZE_BYTE = 1;
+        public const int SIZE_SHORT = 2;
+        public const int SIZE_DOUBLE = 8;
+        public const int SIZE_FLOAT = 4;
+        public const int SIZE_CHAR = 2;
+
+        public const byte TRUE = 1;
+        public const byte FALSE = 0;
+
+        public const byte NULL = 0;
+        public const byte NOT_NULL = 1;
+
+        public const byte BOOLEAN = 2;
+        public const byte BYTE = 3;
+        public const byte BYTES = 4;
+        public const byte SHORT = 5;
+        public const byte INT = 6;
+        public const byte LONG = 7;
+        public const byte FLOAT = 8;
+        public const byte DOUBLE = 9;
+        public const byte STRING = 10;
+        public const byte CHAR = 11;
+
+    }
+}

Added: trunk/dotnet/JBMClient/util/SimpleString.cs
===================================================================
--- trunk/dotnet/JBMClient/util/SimpleString.cs	                        (rev 0)
+++ trunk/dotnet/JBMClient/util/SimpleString.cs	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,361 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JSMClient.util
+{
+    /**
+     * 
+     * A SimpleString
+     * 
+     * A simple String class that can store all characters, and stores as simple byte[],
+     * this minimises expensive copying between String objects
+     * 
+     * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+     * @author <a href="mailto:clebert.suconic at jboss.com">Clebert Suconic</a>
+     *
+     */
+    public class SimpleString : IComparable
+    {
+        // Attributes
+        // ------------------------------------------------------------------------
+        private byte[] data;
+
+        private int hash;
+
+        // Cache the string
+        private string str;
+
+        // Static
+        // ----------------------------------------------------------------------
+
+        /**
+         * Returns a SimpleString constructed from the <code>string</code> parameter.
+         * If <code>string</code> is <code>null</code>, the return value will be <code>null</code> too.
+         */
+        public static SimpleString ToSimpleString(string value)
+        {
+            if (value == null)
+            {
+                return null;
+            }
+            return new SimpleString(value);
+        }
+
+        // Constructors
+        // ----------------------------------------------------------------------
+
+        public SimpleString(string value)
+        {
+
+            int j = 0;
+
+            char[] characters = value.ToCharArray();
+
+            int len = characters.Length;
+
+            data = new byte[len << 1];
+
+            for (int i = 0; i < len; i++)
+            {
+                char c = characters[i];
+
+                byte low = (byte)(c & 0xFF); // low byte
+
+                data[j++] = low;
+
+                byte high = (byte)(c >> 8 & 0xFF); // high byte
+
+                data[j++] = high;
+            }
+
+            str = value;
+        }
+
+        public SimpleString(byte[] data)
+        {
+            this.data = data;
+        }
+
+        // CharSequence implementation
+        // ---------------------------------------------------------------------------
+
+        public int Length
+        {
+            get
+            {
+                return data.Length >> 1;
+            }
+        }
+
+        public char CharAt(int pos)
+        {
+            if (pos < 0 || pos >= data.Length >> 1)
+            {
+                throw new IndexOutOfRangeException();
+            }
+            pos <<= 1;
+
+            return (char)(data[pos] | data[pos + 1] << 8);
+        }
+
+        public SimpleString SubSequence(int start, int end)
+        {
+            int len = data.Length >> 1;
+
+            if (end < start || start < 0 || end > len)
+            {
+                throw new IndexOutOfRangeException();
+            }
+            else
+            {
+                int newlen = (end - start) << 1;
+                byte[] bytes = new byte[newlen];
+
+                Array.Copy(data, start << 1, bytes, 0, newlen);
+
+                return new SimpleString(bytes);
+            }
+        }
+
+        // Comparable implementation -------------------------------------
+
+        public int CompareTo(Object o)
+        {
+            return this.ToString().CompareTo(o.ToString());
+        }
+
+        // Public
+        // ---------------------------------------------------------------------------
+
+		public byte[] Data
+		{
+			get
+			{
+				return this.data;
+			}
+			private set
+			{
+				this.data = value;
+			}
+		}
+
+        public bool StartsWith(SimpleString other)
+        {
+            byte[] otherdata = other.data;
+
+            if (otherdata.Length > this.data.Length)
+            {
+                return false;
+            }
+
+            for (int i = 0; i < otherdata.Length; i++)
+            {
+                if (this.data[i] != otherdata[i])
+                {
+                    return false;
+                }
+            }
+
+            return true;
+        }
+
+
+        public override string ToString()
+        {
+            if (str == null)
+            {
+                int len = data.Length >> 1;
+
+                char[] chars = new char[len];
+
+                int j = 0;
+
+                for (int i = 0; i < len; i++)
+                {
+                    int low = data[j++] & 0xFF;
+
+                    int high = (data[j++] << 8) & 0xFF00;
+
+                    chars[i] = (char)(low | high);
+                }
+
+                str = new String(chars);
+            }
+
+            return str;
+        }
+
+        public override bool Equals(Object other)
+        {
+            if (other is SimpleString)
+            {
+                SimpleString s = (SimpleString)other;
+
+                if (data.Length != s.data.Length)
+                {
+                    return false;
+                }
+
+                for (int i = 0; i < data.Length; i++)
+                {
+                    if (data[i] != s.data[i])
+                    {
+                        return false;
+                    }
+                }
+
+                return true;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
+        public override int GetHashCode()
+        {
+            if (hash == 0)
+            {
+                for (int i = 0; i < data.Length; i++)
+                {
+                    hash = (31 * hash + data[i]) % (int.MaxValue>>5);
+                }
+            }
+
+            return hash;
+        }
+
+        public SimpleString[] Split(char delim)
+        {
+            if (!Contains(delim))
+            {
+                return new SimpleString[] { this };
+            }
+            else
+            {
+                IList<SimpleString> all = new List<SimpleString>();
+                int lasPos = 0;
+                for (int i = 0; i < data.Length; i += 2)
+                {
+                    byte low = (byte)(delim & 0xFF); // low byte
+                    byte high = (byte)(delim >> 8 & 0xFF); // high byte
+                    if (data[i] == low && data[i + 1] == high)
+                    {
+                        byte[] bytes = new byte[i - lasPos];
+                        Array.Copy(data, lasPos, bytes, 0, bytes.Length);
+                        lasPos = i + 2;
+                        all.Add(new SimpleString(bytes));
+                    }
+                }
+                byte[] bytes2 = new byte[data.Length - lasPos];
+                Array.Copy(data, lasPos, bytes2, 0, bytes2.Length);
+                all.Add(new SimpleString(bytes2));
+                return all.ToArray();
+            }
+        }
+
+        public bool Contains(char c)
+        {
+            for (int i = 0; i < data.Length; i += 2)
+            {
+                byte low = (byte)(c & 0xFF); // low byte
+                byte high = (byte)(c >> 8 & 0xFF); // high byte
+                if (data[i] == low && data[i + 1] == high)
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        public SimpleString Concat(SimpleString toAdd)
+        {
+
+            byte[] bytes = new byte[data.Length + toAdd.Data.Length];
+            Array.Copy(data, 0, bytes, 0, data.Length);
+            Array.Copy(toAdd.Data, 0, bytes, data.Length, toAdd.Data.Length);
+            return new SimpleString(bytes);
+        }
+
+        public SimpleString Concat(char c)
+        {
+            byte[] bytes = new byte[data.Length + 2];
+            Array.Copy(data, 0, bytes, 0, data.Length);
+            bytes[data.Length] = (byte)(c & 0xFF);
+            bytes[data.Length + 1] = (byte)(c >> 8 & 0xFF);
+            return new SimpleString(bytes);
+        }
+
+        public static int SizeofString(SimpleString str)
+        {
+
+            return DataConstants.SIZE_INT + str.data.Length;
+        }
+
+        public static int SizeofNullableString(SimpleString str)
+        {
+            if (str == null)
+            {
+                return 1;
+            }
+            else
+            {
+                return 1 + SizeofString(str);
+            }
+        }
+
+        public void GetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
+        {
+            if (srcBegin < 0)
+            {
+                throw new IndexOutOfRangeException("Invalid initialIndex: " + srcBegin);
+            }
+            if (srcEnd > this.Length)
+            {
+                throw new IndexOutOfRangeException("Invalid endIndex: " + srcEnd);
+            }
+            if (srcBegin > srcEnd)
+            {
+                throw new IndexOutOfRangeException("Invalid Length: " + (srcEnd - srcBegin));
+            }
+
+            int j = 0;
+
+            for (int i = srcBegin; i < srcEnd - srcBegin; i++)
+            {
+                int low = data[j++] & 0xFF;
+
+                int high = (data[j++] << 8) & 0xFF00;
+
+                dst[i] = (char)(low | high);
+            }
+        }
+
+    }
+}

Added: trunk/dotnet/JBMClientSolution.sln
===================================================================
--- trunk/dotnet/JBMClientSolution.sln	                        (rev 0)
+++ trunk/dotnet/JBMClientSolution.sln	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,41 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{18364D7F-A814-4360-9BF1-FBD18737B399}"
+	ProjectSection(SolutionItems) = preProject
+		JBMClientSolution.vsmdi = JBMClientSolution.vsmdi
+		JSMClient.vsmdi = JSMClient.vsmdi
+		LocalTestRun.testrunconfig = LocalTestRun.testrunconfig
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JBMClient", "JBMClient\JBMClient.csproj", "{675AD929-BF42-4930-AC39-603D5EC52D58}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JBMClientTest", "JBMClientTest\JBMClientTest.csproj", "{D6A96159-0551-41C2-9E94-1F253F79AD39}"
+EndProject
+Global
+	GlobalSection(SubversionScc) = preSolution
+		Svn-Managed = True
+		Manager = AnkhSVN - Subversion Support for Visual Studio
+	EndGlobalSection
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{675AD929-BF42-4930-AC39-603D5EC52D58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{675AD929-BF42-4930-AC39-603D5EC52D58}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{675AD929-BF42-4930-AC39-603D5EC52D58}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{675AD929-BF42-4930-AC39-603D5EC52D58}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D6A96159-0551-41C2-9E94-1F253F79AD39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D6A96159-0551-41C2-9E94-1F253F79AD39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D6A96159-0551-41C2-9E94-1F253F79AD39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D6A96159-0551-41C2-9E94-1F253F79AD39}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{675AD929-BF42-4930-AC39-603D5EC52D58} = {18364D7F-A814-4360-9BF1-FBD18737B399}
+		{D6A96159-0551-41C2-9E94-1F253F79AD39} = {18364D7F-A814-4360-9BF1-FBD18737B399}
+	EndGlobalSection
+EndGlobal

Added: trunk/dotnet/JBMClientSolution.vsmdi
===================================================================
--- trunk/dotnet/JBMClientSolution.vsmdi	                        (rev 0)
+++ trunk/dotnet/JBMClientSolution.vsmdi	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">
+  <TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
+    <RunConfiguration id="59754eb7-8ee4-4c36-922b-c01d7bda161b" name="Local Test Run" storage="localtestrun.testrunconfig" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common,   PublicKeyToken=b03f5f7f11d50a3a" />
+  </TestList>
+</TestLists>
\ No newline at end of file

Added: trunk/dotnet/JBMClientTest/AuthoringTests.txt
===================================================================
--- trunk/dotnet/JBMClientTest/AuthoringTests.txt	                        (rev 0)
+++ trunk/dotnet/JBMClientTest/AuthoringTests.txt	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,136 @@
+==========================================================================
+    Visual Studio Team System: Overview of Authoring and Running Tests    
+==========================================================================
+
+This overview describes the features for authoring and running tests in 
+Visual Studio Team System and Visual Studio Team Edition for Software Testers.
+
+Opening Tests
+-------------
+To open a test, open a test project or a test metadata file (a file with
+extension .vsmdi) that contains the definition of the test. You can find
+test projects and metadata files in Solution Explorer.
+
+Viewing Tests
+-------------
+To see which tests are available to you, open the Test View window. Or,
+if you have installed Team Edition for Software Testers, you can also open
+the Test List Editor window to view tests.
+
+To open the Test View window, click the Test menu, point to Windows, and
+then click Test View. To open the Test List Editor window (if you have
+installed Team Edition for Software Testers), click Test, point to Windows,
+and then click Test List Editor.
+
+Running Tests
+-------------
+You can run tests from the Test View window and the Test List Editor window.
+See Viewing Tests to learn how to open these windows. To run one or more
+tests displayed in the Test View window, first select the tests in that
+window; to select multiple tests, hold either the Shift or CTRL key while
+clicking tests. Then click the Run Tests button in the Test View window
+toolbar.
+
+If you have installed Visual Studio Team Edition for Software Testers, you can
+also use the Test List Editor window to run tests. To run tests in Test List Editor,
+select the check box next to each test that you want to run. Then click the
+Run Tests button in the Test List Editor window toolbar.
+
+Viewing Test Results
+--------------------
+When you run a test or a series of tests, the results of the test run will be
+shown in the Test Results window. Each individual test in the run is shown on
+a separate line so that you can see its status. The window contains an
+embedded status bar in the top half of the window that provides you with
+summary details of the complete test run.
+
+To see more detailed results for a particular test result, double-click it in
+the Test Results window. This opens a window that provides more information
+about the particular test result, such as any specific error messages returned
+by the test.
+
+Changing the way that tests are run
+-----------------------------------
+Each time you run one or more tests, a collection of settings is used to
+determine how those tests are run. These settings are contained in a “test
+run configuration” file.
+
+Here is a partial list of the changes you can make with a test run 
+configuration file:
+
+ - Change the naming scheme for each test run.
+ - Change the test controller that the tests are run on so that you can run
+   tests remotely.
+ - Gather code coverage data for the code being tested so that you can see
+   which lines of code are covered by your tests.
+ - Enable and disable test deployment. 
+ - Specify additional files to deploy before tests are run.
+ - Select a different host, ASP.NET, for running ASP.NET unit tests.
+ - Select a different host, the smart device test host, for running smart device unit tests.
+ - Set various properties for the test agents that run your tests.
+ - Run custom scripts at the start and end of each test run so that you can
+   set up the test environment exactly as required each time tests are run.
+ - Set time limits for tests and test runs.
+ - Set the browser mix and the number of times to repeat Web tests in the
+   test run.
+
+By default, a test run configuration file is created whenever you create a
+new test project. You make changes to this file by double-clicking it in 
+Solution Explorer and then changing its settings. (Test run configuration
+files have the extension .testrunconfig.)
+
+A solution can contain multiple test run configuration files. Only one of
+those files, known as the “Active” test run configuration file, is used to
+determine the settings that are currently used for test runs. You select
+the active test run configuration by clicking Select Active Test Run 
+Configuration on the Test menu.
+
+-------------------------------------------------------------------------------
+
+Test Types
+----------
+Using Visual Studio Team Edition for Software Testers, you can create a number
+of different test types:
+
+Unit test: Use a unit test to create a programmatic test in C++, Visual C# or
+Visual Basic that exercises source code. A unit test calls the methods of a
+class, passing suitable parameters, and verifies that the returned value is
+what you expect.
+There are three specialized variants of unit tests:
+ - Data-driven unit tests are created when you configure a unit test to be
+   called repeatedly for each row of a data source. The data from each row
+   is used by the unit test as input data.
+ - ASP.NET unit tests are unit tests that exercise code in an ASP.NET Web
+   application.
+ - Smart device unit tests are unit tests that are deployed to a smart device
+   or emulator and then executed by the smart device test host.  
+
+Web Test: Web tests consist of an ordered series of HTTP requests that you
+record in a browser session using Microsoft Internet Explorer. You can have
+the test report specific details about the pages or sites it requests, such
+as whether a particular page contains a specified string.
+
+Load Test: You use a load test to encapsulate non-manual tests, such as
+unit, Web, and generic tests, and then run them simultaneously by using
+virtual users. Running these tests under load generates test results,
+including performance and other counters, in tables and in graphs.
+
+Generic test: A generic test is an existing program wrapped to function as a
+test in Visual Studio. The following are examples of tests or programs that
+you can turn into generic tests:
+ - An existing test that uses process exit codes to communicate whether the
+   test passed or failed. 0 indicates passing and any other value indicates
+   a failure.
+ - A general program to obtain specific functionality during a test scenario.
+ - A test or program that uses a special XML file (called a “summary results
+   file”), to communicate detailed results.
+
+Manual test: The manual test type is used when the test tasks are to be
+completed by a test engineer as opposed to an automated script.
+
+Ordered test: Use an ordered test to execute a set of tests in an order you
+specify.
+
+-------------------------------------------------------------------------------
+
+

Added: trunk/dotnet/JBMClientTest/JBMClientTest.csproj
===================================================================
--- trunk/dotnet/JBMClientTest/JBMClientTest.csproj	                        (rev 0)
+++ trunk/dotnet/JBMClientTest/JBMClientTest.csproj	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,77 @@
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{D6A96159-0551-41C2-9E94-1F253F79AD39}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>JMSClientTest</RootNamespace>
+    <AssemblyName>JMSClientTest</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <StartupObject>
+    </StartupObject>
+    <ApplicationIcon>
+    </ApplicationIcon>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <OutputType>Library</OutputType>
+    <AssemblyName>JMSClientTest</AssemblyName>
+    <RootNamespace>JMSClientTest</RootNamespace>
+    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <OutputType>Library</OutputType>
+    <AssemblyName>JMSClientTest</AssemblyName>
+    <DebugSymbols>true</DebugSymbols>
+    <RootNamespace>JMSClientTest</RootNamespace>
+    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="nunit.framework, Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="util\JBMTest.cs" />
+    <Compile Include="util\SimpleStringTest.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="AuthoringTests.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\JBMClient\JBMClient.csproj">
+      <Project>{675AD929-BF42-4930-AC39-603D5EC52D58}</Project>
+      <Name>JBMClient</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: trunk/dotnet/JBMClientTest/JBMClientTest.userprefs
===================================================================
--- trunk/dotnet/JBMClientTest/JBMClientTest.userprefs	                        (rev 0)
+++ trunk/dotnet/JBMClientTest/JBMClientTest.userprefs	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,22 @@
+<UserCombinePreferences version="1.0" filename="/tmp/dotnet/JBMClientTest/JBMClientTest.mds">
+  <Files>
+    <File name="Welcome" />
+  </Files>
+  <Views>
+    <ViewMemento id="ProjectPad">
+      <Node expanded="True">
+        <Node name="JBMClientTest" expanded="True" />
+      </Node>
+    </ViewMemento>
+    <ViewMemento id="ClassPad">
+      <Node expanded="True" />
+    </ViewMemento>
+    <ViewMemento id="MonoDevelop.NUnit.TestPad">
+      <Node />
+    </ViewMemento>
+  </Views>
+  <Properties>
+    <Property key="ActiveWindow" value="Welcome" />
+    <Property key="ActiveConfiguration" value="Debug|Any CPU" />
+  </Properties>
+</UserCombinePreferences>
\ No newline at end of file

Added: trunk/dotnet/JBMClientTest/Properties/AssemblyInfo.cs
===================================================================
--- trunk/dotnet/JBMClientTest/Properties/AssemblyInfo.cs	                        (rev 0)
+++ trunk/dotnet/JBMClientTest/Properties/AssemblyInfo.cs	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("JMSClientTest")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("JMSClientTest")]
+[assembly: AssemblyCopyright("Copyright ©  2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM componenets.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("29860c42-cd01-4298-8e76-a461e9d72cf2")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: trunk/dotnet/JBMClientTest/util/JBMTest.cs
===================================================================
--- trunk/dotnet/JBMClientTest/util/JBMTest.cs	                        (rev 0)
+++ trunk/dotnet/JBMClientTest/util/JBMTest.cs	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using NUnit.Framework;
+
+namespace JMSClientTest.util
+{
+    public class JBMTest
+    {
+        public void assertTrue(bool value)
+        {
+            Assert.IsTrue(value);
+        }
+
+        public void assertFalse(bool value)
+        {
+            Assert.IsFalse(value);
+        }
+
+
+        public void assertEquals(Object obj, Object obj2)
+        {
+            Assert.AreEqual(obj, obj2);
+        }
+
+        public void fail(string message)
+        {
+            Assert.Fail(message);
+        }
+
+        public string randomString()
+        {
+            // FIXME : implement this
+            return "implement-me please";
+        }
+
+        public void assertNotNull(Object value)
+        {
+            Assert.IsNotNull(value);
+        }
+    }
+}

Added: trunk/dotnet/JBMClientTest/util/SimpleStringTest.cs
===================================================================
--- trunk/dotnet/JBMClientTest/util/SimpleStringTest.cs	                        (rev 0)
+++ trunk/dotnet/JBMClientTest/util/SimpleStringTest.cs	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,334 @@
+using System;
+using System.Text;
+using System.Collections.Generic;
+using System.Linq;
+using NUnit.Framework;
+using JSMClient.util;
+
+namespace JMSClientTest.util
+{
+    /// <summary>
+    /// Summary description for SimpleStringTest
+    /// </summary>
+    [TestFixture]
+    public class SimpleStringTest : JBMTest
+    {
+        public SimpleStringTest()
+        {
+            //
+            // TODO: Add constructor logic here
+            //
+        }
+
+
+        [Test]
+        public void testString()
+        {
+            string str = "hello123ABC__524`16254`6125!%^$!%$!%$!%$!%!$%!$$!\uA324";
+
+            SimpleString s = new SimpleString(str);
+
+            assertEquals(str, s.ToString());
+
+            assertEquals(2 * str.Length, s.Data.Length);
+
+            byte[] data = s.Data;
+
+            SimpleString s2 = new SimpleString(data);
+
+            assertEquals(str, s2.ToString());
+        }
+
+        [Test]
+        public void testStartsWith()
+        {
+            SimpleString s1 = new SimpleString("abcdefghi");
+
+            assertTrue(s1.StartsWith(new SimpleString("abc")));
+
+            assertTrue(s1.StartsWith(new SimpleString("abcdef")));
+
+            assertTrue(s1.StartsWith(new SimpleString("abcdefghi")));
+
+            assertFalse(s1.StartsWith(new SimpleString("abcdefghijklmn")));
+
+            assertFalse(s1.StartsWith(new SimpleString("aardvark")));
+
+            assertFalse(s1.StartsWith(new SimpleString("z")));
+        }
+
+        [Test]
+        public void testCharSequence()
+        {
+            string s = "abcdefghijkl";
+            SimpleString s1 = new SimpleString(s);
+
+            assertEquals('a', s1.CharAt(0));
+            assertEquals('b', s1.CharAt(1));
+            assertEquals('c', s1.CharAt(2));
+            assertEquals('k', s1.CharAt(10));
+            assertEquals('l', s1.CharAt(11));
+
+            try
+            {
+                s1.CharAt(-1);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+
+            try
+            {
+                s1.CharAt(-2);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+
+            try
+            {
+                s1.CharAt(s.Length);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+
+            try
+            {
+                s1.CharAt(s.Length + 1);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+
+            assertEquals(s.Length, s1.Length);
+
+            SimpleString ss = s1.SubSequence(0, s1.Length);
+
+            assertEquals(ss, s1);
+
+            ss = s1.SubSequence(1, 4);
+            assertEquals(ss, new SimpleString("bcd"));
+
+            ss = s1.SubSequence(5, 10);
+            assertEquals(ss, new SimpleString("fghij"));
+
+            ss = s1.SubSequence(5, 12);
+            assertEquals(ss, new SimpleString("fghijkl"));
+
+            try
+            {
+                s1.SubSequence(-1, 2);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+
+            try
+            {
+                s1.SubSequence(-4, -2);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+
+            try
+            {
+                s1.SubSequence(0, s1.Length + 1);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+
+            try
+            {
+                s1.SubSequence(0, s1.Length + 2);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+
+            try
+            {
+                s1.SubSequence(5, 1);
+                fail("Should throw exception");
+            }
+            catch (IndexOutOfRangeException)
+            {
+                //OK
+            }
+        }
+
+        [Test]
+        public void testEquals()
+        {
+            assertFalse(new SimpleString("abcdef").Equals(new Object()));
+
+            assertEquals(new SimpleString("abcdef"), new SimpleString("abcdef"));
+
+            assertFalse(new SimpleString("abcdef").Equals(new SimpleString("abggcdef")));
+            assertFalse(new SimpleString("abcdef").Equals(new SimpleString("ghijkl")));
+        }
+
+        [Test]
+        public void testHashcode()
+        {
+            SimpleString str = new SimpleString("abcdef");
+            SimpleString sameStr = new SimpleString("abcdef");
+            SimpleString differentStr = new SimpleString("ghijk");
+
+            string tst = str.ToString();
+            tst.GetHashCode();
+
+            assertTrue(str.GetHashCode() == sameStr.GetHashCode());
+            assertFalse(str.GetHashCode() == differentStr.GetHashCode());
+
+        }
+
+        [Test]
+        public void testUnicode()
+        {
+            String myString = "abcdef&^*&!^ghijkl\uB5E2\uCAC7\uB2BB\uB7DD\uB7C7\uB3A3\uBCE4\uB5A5";
+
+            SimpleString s = new SimpleString(myString);
+            byte[] data = s.Data;
+            s = new SimpleString(data);
+
+            assertEquals(myString, s.ToString());
+        }
+
+        [Test]
+        public void testUnicodeWithSurrogates()
+        {
+            String myString = "abcdef&^*&!^ghijkl\uD900\uDD00";
+
+            SimpleString s = new SimpleString(myString);
+            byte[] data = s.Data;
+            s = new SimpleString(data);
+
+            assertEquals(myString, s.ToString());
+        }
+
+        [Test]
+        public void testSizeofString()
+        {
+            assertEquals(DataConstants.SIZE_INT, SimpleString.SizeofString(new SimpleString("")));
+
+            //FIXME: provide a randomString method
+            SimpleString str = new SimpleString(randomString());
+            assertEquals(DataConstants.SIZE_INT + str.Data.Length, SimpleString.SizeofString(str));
+        }
+
+        [Test]
+        public void testSizeofNullableString()
+        {
+            assertEquals(1, SimpleString.SizeofNullableString(null));
+
+            assertEquals(1 + DataConstants.SIZE_INT, SimpleString.SizeofNullableString(new SimpleString("")));
+
+            SimpleString str = new SimpleString(randomString());
+            assertEquals(1 + DataConstants.SIZE_INT + str.Data.Length, SimpleString.SizeofNullableString(str));
+        }
+
+        [Test]
+        public void testSplitNoDelimeter()
+        {
+            SimpleString s = new SimpleString("abcdefghi");
+            SimpleString[] strings = s.Split('.');
+            assertNotNull(strings);
+            assertEquals(strings.Length, 1);
+            assertEquals(strings[0], s);
+        }
+
+        [Test]
+        public void testSplit1Delimeter()
+        {
+            SimpleString s = new SimpleString("abcd.efghi");
+            SimpleString[] strings = s.Split('.');
+            assertNotNull(strings);
+            assertEquals(strings.Length, 2);
+            assertEquals(strings[0], new SimpleString("abcd"));
+            assertEquals(strings[1], new SimpleString("efghi"));
+        }
+
+        [Test]
+        public void testSplitmanyDelimeters()
+        {
+            SimpleString s = new SimpleString("abcd.efghi.jklmn.opqrs.tuvw.xyz");
+            SimpleString[] strings = s.Split('.');
+            assertNotNull(strings);
+            assertEquals(strings.Length, 6);
+            assertEquals(strings[0], new SimpleString("abcd"));
+            assertEquals(strings[1], new SimpleString("efghi"));
+            assertEquals(strings[2], new SimpleString("jklmn"));
+            assertEquals(strings[3], new SimpleString("opqrs"));
+            assertEquals(strings[4], new SimpleString("tuvw"));
+            assertEquals(strings[5], new SimpleString("xyz"));
+        }
+
+        [Test]
+        public void testContains()
+        {
+            SimpleString simpleString = new SimpleString("abcdefghijklmnopqrst");
+            assertFalse(simpleString.Contains('.'));
+            assertFalse(simpleString.Contains('%'));
+            assertFalse(simpleString.Contains('8'));
+            assertFalse(simpleString.Contains('.'));
+            assertTrue(simpleString.Contains('a'));
+            assertTrue(simpleString.Contains('b'));
+            assertTrue(simpleString.Contains('c'));
+            assertTrue(simpleString.Contains('d'));
+            assertTrue(simpleString.Contains('e'));
+            assertTrue(simpleString.Contains('f'));
+            assertTrue(simpleString.Contains('g'));
+            assertTrue(simpleString.Contains('h'));
+            assertTrue(simpleString.Contains('i'));
+            assertTrue(simpleString.Contains('j'));
+            assertTrue(simpleString.Contains('k'));
+            assertTrue(simpleString.Contains('l'));
+            assertTrue(simpleString.Contains('m'));
+            assertTrue(simpleString.Contains('n'));
+            assertTrue(simpleString.Contains('o'));
+            assertTrue(simpleString.Contains('p'));
+            assertTrue(simpleString.Contains('q'));
+            assertTrue(simpleString.Contains('r'));
+            assertTrue(simpleString.Contains('s'));
+            assertTrue(simpleString.Contains('t'));
+        }
+
+        [Test]
+        public void testConcat()
+        {
+            SimpleString start = new SimpleString("abcdefg");
+            SimpleString middle = new SimpleString("hijklmnop");
+            SimpleString end = new SimpleString("qrstuvwxyz");
+            assertEquals(start.Concat(middle).Concat(end), new SimpleString("abcdefghijklmnopqrstuvwxyz"));
+            assertEquals(start.Concat('.').Concat(end), new SimpleString("abcdefg.qrstuvwxyz"));
+        }
+
+        [Test]
+        public void testConcat33()
+        {
+            SimpleString start = new SimpleString("a");
+            SimpleString middle = new SimpleString("b");
+            assertEquals(start.Concat(middle).ToString(), new SimpleString("ab").ToString());
+        }
+    }
+
+}

Added: trunk/dotnet/JSMClient.vsmdi
===================================================================
--- trunk/dotnet/JSMClient.vsmdi	                        (rev 0)
+++ trunk/dotnet/JSMClient.vsmdi	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">
+  <TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
+    <RunConfiguration id="59754eb7-8ee4-4c36-922b-c01d7bda161b" name="Local Test Run" storage="localtestrun.testrunconfig" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common,   PublicKeyToken=b03f5f7f11d50a3a" />
+  </TestList>
+</TestLists>
\ No newline at end of file

Added: trunk/dotnet/LocalTestRun.testrunconfig
===================================================================
--- trunk/dotnet/LocalTestRun.testrunconfig	                        (rev 0)
+++ trunk/dotnet/LocalTestRun.testrunconfig	2009-02-04 02:26:19 UTC (rev 5801)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestRunConfiguration name="Local Test Run" id="59754eb7-8ee4-4c36-922b-c01d7bda161b" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">
+  <Description>This is a default test run configuration for a local test run.</Description>
+  <TestTypeSpecific />
+</TestRunConfiguration>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list