Files
2012-09-24 20:55:07 +02:00

78 lines
3.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using DelphiProjectHandler.LibraryPaths;
namespace DelphiProjectHandler.Tests.LibraryPaths
{
[TestFixture]
public class LibraryPathProviderFactoryTests
{
protected void TestCreateProvider(LibraryPathType iLibraryType, Type iExpectedType, string iErrorMsg)
{
ILibraryPathsProvider vProvider = LibraryPathsProviderFactory.CreateProvider(iLibraryType);
Assert.IsNotNull(vProvider, "Provider was not created. " + iErrorMsg);
Assert.IsInstanceOf(iExpectedType, vProvider, "Created provider is of wrong type. " + iErrorMsg);
}
[Test]
public void CreateProvider_Supported()
{
TestCreateProvider(LibraryPathType.Delphi5, typeof(DelphiLibraryPathsProvider), "Test 1");
TestCreateProvider(LibraryPathType.Delphi6, typeof(DelphiLibraryPathsProvider), "Test 2");
TestCreateProvider(LibraryPathType.Clipboard, typeof(ClipboardLibraryPathsProvider), "Test 3");
}
[Test]
[ExpectedException(typeof(NotSupportedException))]
public void CreateProvider_NotSupported_Delphi2005()
{
LibraryPathsProviderFactory.CreateProvider(LibraryPathType.Delphi2005);
}
[Test]
[ExpectedException(typeof(NotSupportedException))]
public void CreateProvider_NotSupported_Delphi2007()
{
LibraryPathsProviderFactory.CreateProvider(LibraryPathType.Delphi2007);
}
[Test]
[ExpectedException(typeof(NotSupportedException))]
public void CreateProvider_NotSupported_Delphi7()
{
LibraryPathsProviderFactory.CreateProvider(LibraryPathType.Delphi7);
}
[Test]
public void ListSupportedProviders()
{
LibraryPathType[] vSupported = LibraryPathsProviderFactory.ListSupportedProviders();
Assert.AreEqual(3, vSupported.Length, "No. of supported providers is wrong");
Assert.AreEqual(LibraryPathType.Delphi5, vSupported[0], "Item 0 is wrong");
Assert.AreEqual(LibraryPathType.Delphi6, vSupported[1], "Item 1 is wrong");
Assert.AreEqual(LibraryPathType.Clipboard, vSupported[2], "Item 2 is wrong");
}
[Test]
public void IsProviderSupported_Supported()
{
Assert.IsTrue(LibraryPathsProviderFactory.IsProviderSupported(LibraryPathType.Delphi5), "Delphi5 should be supported");
Assert.IsTrue(LibraryPathsProviderFactory.IsProviderSupported(LibraryPathType.Delphi6), "Delphi6 should be supported");
Assert.IsTrue(LibraryPathsProviderFactory.IsProviderSupported(LibraryPathType.Clipboard), "Clipboard should be supported");
}
[Test]
public void IsProviderSupported_NotSupported()
{
Assert.IsFalse(LibraryPathsProviderFactory.IsProviderSupported(LibraryPathType.Delphi7), "Delphi7 should not be supported");
Assert.IsFalse(LibraryPathsProviderFactory.IsProviderSupported(LibraryPathType.Delphi2005), "Delphi2005 should not be supported");
Assert.IsFalse(LibraryPathsProviderFactory.IsProviderSupported(LibraryPathType.Delphi2007), "Delphi2007 should not be supported");
Assert.IsFalse(LibraryPathsProviderFactory.IsProviderSupported(LibraryPathType.Delphi2009), "Delphi2009 should not be supported");
}
}
}