miranda/Hyphen/Plugins/UnitTests/UnmanagedStringHandleTest.cs
2013-06-25 22:53:41 +00:00

116 lines
3.3 KiB
C#

// The following code was generated by Microsoft Visual Studio 2005.
// The test owner should check each test for validity.
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Text;
using System.Collections.Generic;
using Virtuoso.Miranda.Plugins.Native;
using System.Runtime.InteropServices;
namespace Virtuoso.Miranda.Plugins.UnitTests
{
/// <summary>
///This is a test class for Virtuoso.Miranda.Plugins.Native.UnmanagedStringHandle and is intended
///to contain all Virtuoso.Miranda.Plugins.Native.UnmanagedStringHandle Unit Tests
///</summary>
[TestClass()]
public class UnmanagedStringHandleTest
{
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
#region Additional test attributes
//
//You can use the following additional attributes as you write your tests:
//
//Use ClassInitialize to run code before running the first test in the class
//
//[ClassInitialize()]
//public static void MyClassInitialize(TestContext testContext)
//{
//}
//
//Use ClassCleanup to run code after all tests in a class have run
//
//[ClassCleanup()]
//public static void MyClassCleanup()
//{
//}
//
//Use TestInitialize to run code before running each test
//
//[TestInitialize()]
//public void MyTestInitialize()
//{
//}
//
//Use TestCleanup to run code after each test has run
//
//[TestCleanup()]
//public void MyTestCleanup()
//{
//}
//
#endregion
/// <summary>
///A test for Free ()
///</summary>
[TestMethod()]
public void FreeTest()
{
UnmanagedStringHandle handle = new UnmanagedStringHandle("foo");
handle.Free();
handle = UnmanagedStringHandle.Empty;
handle.Free();
}
/// <summary>
///A test for UnmanagedStringHandle (string, StringMarshalKind)
///</summary>
[TestMethod()]
public void ConstructorTest()
{
const string str = "foo";
UnmanagedStringHandle handle = UnmanagedStringHandle.Empty;
try
{
handle = new UnmanagedStringHandle(str);
Assert.AreEqual<string>(str, Marshal.PtrToStringAnsi(handle.IntPtr));
}
finally
{
handle.Free();
}
try
{
handle = new UnmanagedStringHandle(str, StringEncoding.Unicode);
Assert.AreEqual<string>(str, Marshal.PtrToStringUni(handle.IntPtr));
}
finally
{
handle.Free();
}
}
}
}