Click here to Skip to main content
15,897,718 members
Articles / Desktop Programming / Windows Forms

Windows Services Made Simple

Rate me:
Please Sign up or sign in to vote.
4.62/5 (10 votes)
27 Jun 2007CPOL10 min read 94.6K   6.9K   69  
Describes how to build a Windows Service using the Pegasus Library.
using System;
using System.Runtime.Serialization;

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Pegasus.UnitTests.Runtime.Serialization.Formatters.Xml.XmlFormatter2Tests
{
	/// <summary>
	/// This is a test class for Pegasus.Runtime.Serialization.Formatters.Xml.XmlFormatter2
	/// and will check the serialization of object via the ISerializtion interface
	///</summary>
	[TestClass]
	public class XmlFormatter2ISerializationTests
	{
		// Local Instance Values
		private TestContext m_testContextInstance;

		/// <summary>
		/// Initializes a new instance of the <see cref="T:XmlFormatter2ISerializationTests"/> class.
		/// </summary>
		public XmlFormatter2ISerializationTests()
		{
		}

		/// <summary>
		/// Gets or sets the test context which provides information about and 
		/// functionality for the current test run.
		/// </summary>
		/// <value>The test context.</value>
		public TestContext TestContext
		{
			get
			{
				return m_testContextInstance;
			}
			set
			{
				m_testContextInstance = value;
			}
		}

		/// <summary>
		/// Test the Serialize method (basic object)
		/// </summary>
		[TestMethod]
		public void SerializeISerializableObjectTest1()
		{
			// Build the object to serialize 
			ISerializableObject startObj = new ISerializableObject();
			startObj.Name = XmlFormatter2Helper.StringTestValue;
			startObj.Description = XmlFormatter2Helper.StringTestValue;

			// Send the object through the serializtion and deserializtion process
			ISerializableObject finishedObj = (ISerializableObject) XmlFormatter2Helper.SerializeDeserialize( startObj );

			// Check test results
			Assert.IsNotNull( finishedObj, "Deserialize return null object" );
			Assert.AreEqual( finishedObj.Name, XmlFormatter2Helper.StringTestValue, "Name value is not right" );
			Assert.AreEqual( finishedObj.Description, XmlFormatter2Helper.StringTestValue, "Description value is not right" );
		}

		/// <summary>
		/// This test uses the NonserializationISerializableObject class which impment the ISerializable interface but
		/// does not have the Serializable attribute on the class. The formatter should throw and exception.
		/// </summary>
		[TestMethod]
		[ExpectedException( typeof( SerializationException ), "Should not allow this class to be serialized" )]
		public void SerializeISerializableObjectTest2()
		{
			// Build the object to serialize 
			NonserializationISerializableObject startObj = new NonserializationISerializableObject();

			// Send the object through the serializtion and deserializtion process
			NonserializationISerializableObject finishedObj = 
				(NonserializationISerializableObject) XmlFormatter2Helper.SerializeDeserialize( startObj );
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions