diff --git a/test/umbraco.Test/DictionaryTest.cs b/src/Umbraco.Tests/BusinessLogic/DictionaryTest.cs
similarity index 85%
rename from test/umbraco.Test/DictionaryTest.cs
rename to src/Umbraco.Tests/BusinessLogic/DictionaryTest.cs
index b217c11ee2..a73e085e87 100644
--- a/test/umbraco.Test/DictionaryTest.cs
+++ b/src/Umbraco.Tests/BusinessLogic/DictionaryTest.cs
@@ -1,30 +1,39 @@
-using umbraco.cms.businesslogic;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
+using NUnit.Framework;
+using Umbraco.Core;
+using Umbraco.Tests.TestHelpers;
+using umbraco.cms.businesslogic;
using System;
using System.Xml;
using umbraco.cms.businesslogic.language;
using umbraco.BusinessLogic;
using System.Linq;
-namespace Umbraco.LegacyTests
+namespace Umbraco.Tests.BusinessLogic
{
-
+ //TODO: This was ported over from the previous unit tests, need to make them work now :)
///
///This is a test class for Dictionary_DictionaryItemTest and is intended
///to contain all Dictionary_DictionaryItemTest Unit Tests
///
- [TestClass()]
- public class DictionaryTest
+ [TestFixture]
+ public class DictionaryTest : BaseWebTest
{
- [TestMethod()]
+ public override void Initialize()
+ {
+ base.Initialize();
+
+ CreateNew();
+ }
+
+ [Test()]
public void Dictionary_Get_Top_Level_Items()
{
var items = Dictionary.getTopMostItems;
var d = CreateNew();
- Assert.AreEqual(items.Count() + 1, Dictionary.getTopMostItems.Count());
+ Assert.AreEqual(items.Count() + 1, Dictionary.getTopMostItems.Count());
DeleteItem(d);
}
@@ -33,7 +42,7 @@ namespace Umbraco.LegacyTests
/// Creates a new dictionary entry, adds values for all languages assigned, then deletes the
/// entry and ensure that all other data is gone too.
///
- [TestMethod()]
+ [Test()]
public void Dictionary_Create_Add_Text_And_Delete()
{
var d = CreateNew();
@@ -55,7 +64,7 @@ namespace Umbraco.LegacyTests
///
///A test for IsTopMostItem
///
- [TestMethod()]
+ [Test()]
public void Dictionary_IsTopMostItem()
{
var parent = CreateNew();
@@ -64,7 +73,7 @@ namespace Umbraco.LegacyTests
var childId = Dictionary.DictionaryItem.addKey("Test" + Guid.NewGuid().ToString("N"), "", parent.key);
Assert.IsTrue(childId > 0);
var child = new Dictionary.DictionaryItem(childId);
- Assert.IsInstanceOfType(child, typeof(Dictionary.DictionaryItem));
+ Assert.IsTrue(TypeHelper.IsTypeAssignableFrom(child));
Assert.IsTrue(parent.IsTopMostItem());
Assert.IsFalse(child.IsTopMostItem());
@@ -76,7 +85,7 @@ namespace Umbraco.LegacyTests
///
/// Test the Parent and Children properties and ensures that the relationships work both ways
///
- [TestMethod()]
+ [Test()]
public void Dictionary_Parent_Child_Relationship()
{
var parent = CreateNew();
@@ -85,7 +94,7 @@ namespace Umbraco.LegacyTests
var childId = Dictionary.DictionaryItem.addKey("Test" + Guid.NewGuid().ToString("N"), "", parent.key);
Assert.IsTrue(childId > 0);
var child = new Dictionary.DictionaryItem(childId);
- Assert.IsInstanceOfType(child, typeof(Dictionary.DictionaryItem));
+ Assert.IsTrue(TypeHelper.IsTypeAssignableFrom(child));
//set the parent relationship
Assert.AreEqual(parent.id, child.Parent.id);
@@ -94,7 +103,7 @@ namespace Umbraco.LegacyTests
//test the child relationship
Assert.IsTrue(parent.hasChildren);
- Assert.AreEqual(1, parent.Children.Length);
+ Assert.AreEqual(1, parent.Children.Length);
Assert.AreEqual(child.id, parent.Children.First().id);
Assert.AreEqual(child.key, parent.Children.First().key);
Assert.AreEqual(child.UniqueId, parent.Children.First().UniqueId);
@@ -106,7 +115,7 @@ namespace Umbraco.LegacyTests
///
/// Deletes a parent with existing children and ensures they are all gone.
///
- [TestMethod()]
+ [Test()]
public void Dictionary_Delete_Parent_With_Children()
{
var parent = CreateNew();
@@ -115,16 +124,16 @@ namespace Umbraco.LegacyTests
var childId1 = Dictionary.DictionaryItem.addKey("Test" + Guid.NewGuid().ToString("N"), "", parent.key);
Assert.IsTrue(childId1 > 0);
var child1 = new Dictionary.DictionaryItem(childId1);
- Assert.IsInstanceOfType(child1, typeof(Dictionary.DictionaryItem));
+ Assert.IsTrue(TypeHelper.IsTypeAssignableFrom(child1));
//create a child
var childId2 = Dictionary.DictionaryItem.addKey("Test" + Guid.NewGuid().ToString("N"), "", parent.key);
Assert.IsTrue(childId2 > 0);
var child2 = new Dictionary.DictionaryItem(childId2);
- Assert.IsInstanceOfType(child2, typeof(Dictionary.DictionaryItem));
+ Assert.IsTrue(TypeHelper.IsTypeAssignableFrom(child2));
Assert.IsTrue(parent.hasChildren);
- Assert.AreEqual(2, parent.Children.Length);
+ Assert.AreEqual(2, parent.Children.Length);
DeleteItem(parent);
@@ -157,7 +166,7 @@ namespace Umbraco.LegacyTests
///
/// Guid constructor test
///
- [TestMethod()]
+ [Test()]
public void Dictionary_Contructor_Guid()
{
var d = CreateNew();
@@ -174,7 +183,7 @@ namespace Umbraco.LegacyTests
///
/// key constructor test
///
- [TestMethod()]
+ [Test()]
public void Dictionary_Contructor_Key()
{
var d = CreateNew();
@@ -191,7 +200,7 @@ namespace Umbraco.LegacyTests
///
///A test for ToXml
///
- [TestMethod()]
+ [Test()]
public void Dictionary_ToXml()
{
var d = CreateNew();
@@ -200,7 +209,7 @@ namespace Umbraco.LegacyTests
var childId = Dictionary.DictionaryItem.addKey("Test" + Guid.NewGuid().ToString("N"), "", d.key);
Assert.IsTrue(childId > 0);
var child = new Dictionary.DictionaryItem(childId);
- Assert.IsInstanceOfType(child, typeof(Dictionary.DictionaryItem));
+ Assert.IsTrue(TypeHelper.IsTypeAssignableFrom(child));
var xml = new XmlDocument();
@@ -218,7 +227,7 @@ namespace Umbraco.LegacyTests
///
///A test to change the key of an element
///
- [TestMethod()]
+ [Test()]
public void Dictionary_Change_Key()
{
//System.Diagnostics.Debugger.Break();
@@ -247,14 +256,14 @@ namespace Umbraco.LegacyTests
///
/// Tries to create a duplicate key and ensures it's not possible.
///
- [TestMethod()]
+ [Test()]
public void Dictionary_Attempt_Duplicate_Key()
{
var key = "Test" + Guid.NewGuid().ToString("N");
var d1Id = Dictionary.DictionaryItem.addKey(key, "");
Assert.IsTrue(d1Id > 0);
var d1 = new Dictionary.DictionaryItem(d1Id);
- Assert.IsInstanceOfType(d1, typeof(Dictionary.DictionaryItem));
+ Assert.IsTrue(TypeHelper.IsTypeAssignableFrom(d1));
var alreadyExists = false;
try
@@ -273,13 +282,14 @@ namespace Umbraco.LegacyTests
}
#region Private methods
+
private Dictionary.DictionaryItem CreateNew()
{
var id = Dictionary.DictionaryItem.addKey("Test" + Guid.NewGuid().ToString("N"), "");
Assert.IsTrue(id > 0);
var d = new Dictionary.DictionaryItem(id);
- Assert.IsInstanceOfType(d, typeof(Dictionary.DictionaryItem));
+ Assert.IsTrue(TypeHelper.IsTypeAssignableFrom(d));
return d;
}
@@ -314,7 +324,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for Import
/////
- //[TestMethod()]
+ //[Test()]
//public void ImportTest()
//{
// XmlNode xmlData = null; // TODO: Initialize to an appropriate value
@@ -329,7 +339,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for Import
/////
- //[TestMethod()]
+ //[Test()]
//public void ImportTest1()
//{
// XmlNode xmlData = null; // TODO: Initialize to an appropriate value
@@ -345,7 +355,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for Save
/////
- //[TestMethod()]
+ //[Test()]
//public void SaveTest()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -359,7 +369,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for Value
/////
- //[TestMethod()]
+ //[Test()]
//public void ValueTest()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -375,7 +385,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for Value
/////
- //[TestMethod()]
+ //[Test()]
//public void ValueTest1()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -390,7 +400,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for addKey
/////
- //[TestMethod()]
+ //[Test()]
//public void addKeyTest()
//{
// string key = string.Empty; // TODO: Initialize to an appropriate value
@@ -405,7 +415,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for addKey
/////
- //[TestMethod()]
+ //[Test()]
//public void addKeyTest1()
//{
// string key = string.Empty; // TODO: Initialize to an appropriate value
@@ -421,7 +431,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for delete
/////
- //[TestMethod()]
+ //[Test()]
//public void deleteTest()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -433,7 +443,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for hasKey
/////
- //[TestMethod()]
+ //[Test()]
//public void hasKeyTest()
//{
// string key = string.Empty; // TODO: Initialize to an appropriate value
@@ -447,7 +457,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for setValue
/////
- //[TestMethod()]
+ //[Test()]
//public void setValueTest()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -461,7 +471,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for setValue
/////
- //[TestMethod()]
+ //[Test()]
//public void setValueTest1()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -474,7 +484,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for Children
/////
- //[TestMethod()]
+ //[Test()]
//public void ChildrenTest()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -487,7 +497,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for Parent
/////
- //[TestMethod()]
+ //[Test()]
//public void ParentTest()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -500,7 +510,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for hasChildren
/////
- //[TestMethod()]
+ //[Test()]
//public void hasChildrenTest()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -513,7 +523,7 @@ namespace Umbraco.LegacyTests
/////
/////A test for id
/////
- //[TestMethod()]
+ //[Test()]
//public void idTest()
//{
// Guid id = new Guid(); // TODO: Initialize to an appropriate value
@@ -526,34 +536,5 @@ namespace Umbraco.LegacyTests
#endregion
- #region Initialize and Cleanup
- //
- //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
}
}
diff --git a/src/Umbraco.Tests/ContentStores/PublishContentStoreTests.cs b/src/Umbraco.Tests/ContentStores/PublishContentStoreTests.cs
index d8f7831e3e..e4e19a6b18 100644
--- a/src/Umbraco.Tests/ContentStores/PublishContentStoreTests.cs
+++ b/src/Umbraco.Tests/ContentStores/PublishContentStoreTests.cs
@@ -5,10 +5,9 @@ using Umbraco.Core;
using Umbraco.Tests.TestHelpers;
using Umbraco.Web;
using Umbraco.Web.Routing;
-using umbraco;
using umbraco.BusinessLogic;
-namespace Umbraco.Tests
+namespace Umbraco.Tests.ContentStores
{
[TestFixture]
public class PublishContentStoreTests
diff --git a/test/umbraco.Test/IOHelperTest.cs b/src/Umbraco.Tests/IO/IOHelperTest.cs
similarity index 58%
rename from test/umbraco.Test/IOHelperTest.cs
rename to src/Umbraco.Tests/IO/IOHelperTest.cs
index ab4d382e95..d23d5cba5f 100644
--- a/test/umbraco.Test/IOHelperTest.cs
+++ b/src/Umbraco.Tests/IO/IOHelperTest.cs
@@ -1,7 +1,7 @@
-using umbraco.IO;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
+using NUnit.Framework;
+using Umbraco.Core.IO;
-namespace Umbraco.LegacyTests
+namespace Umbraco.Tests.IO
{
@@ -9,64 +9,14 @@ namespace Umbraco.LegacyTests
///This is a test class for IOHelperTest and is intended
///to contain all IOHelperTest Unit Tests
///
- [TestClass()]
+ [TestFixture()]
public class IOHelperTest
{
-
- private TestContext testContextInstance;
-
- ///
- ///Gets or sets the test context which provides
- ///information about and functionality for the current test run.
- ///
- 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
-
-
///
///A test for MapPath verifying that HttpContext method (which includes vdirs) matches non-HttpContext method
///
- [TestMethod()]
+ [Test]
public void IOHelper_MapPathTestVDirTraversal()
{
//System.Diagnostics.Debugger.Break();
@@ -84,9 +34,9 @@ namespace Umbraco.LegacyTests
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Root, true), IOHelper.MapPath(SystemDirectories.Root, false));
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Scripts, true), IOHelper.MapPath(SystemDirectories.Scripts, false));
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Umbraco, true), IOHelper.MapPath(SystemDirectories.Umbraco, false));
- Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Umbraco_client, true), IOHelper.MapPath(SystemDirectories.Umbraco_client, false));
- Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Usercontrols, true), IOHelper.MapPath(SystemDirectories.Usercontrols, false));
- Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Webservices, true), IOHelper.MapPath(SystemDirectories.Webservices, false));
+ Assert.AreEqual(IOHelper.MapPath(SystemDirectories.UmbracoClient, true), IOHelper.MapPath(SystemDirectories.UmbracoClient, false));
+ Assert.AreEqual(IOHelper.MapPath(SystemDirectories.UserControls, true), IOHelper.MapPath(SystemDirectories.UserControls, false));
+ Assert.AreEqual(IOHelper.MapPath(SystemDirectories.WebServices, true), IOHelper.MapPath(SystemDirectories.WebServices, false));
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Xslt, true), IOHelper.MapPath(SystemDirectories.Xslt, false));
}
}
diff --git a/src/Umbraco.Tests/TestHelpers/BaseWebTest.cs b/src/Umbraco.Tests/TestHelpers/BaseWebTest.cs
index 1b1076cb08..2009d7d683 100644
--- a/src/Umbraco.Tests/TestHelpers/BaseWebTest.cs
+++ b/src/Umbraco.Tests/TestHelpers/BaseWebTest.cs
@@ -1,3 +1,4 @@
+using System;
using System.IO;
using System.Web.Routing;
using System.Xml;
@@ -14,7 +15,7 @@ using umbraco.cms.businesslogic.template;
namespace Umbraco.Tests.TestHelpers
{
- [TestFixture]
+ [TestFixture, RequiresSTA]
public abstract class BaseWebTest
{
@@ -22,6 +23,9 @@ namespace Umbraco.Tests.TestHelpers
public virtual void Initialize()
{
TestHelper.SetupLog4NetForTests();
+
+ AppDomain.CurrentDomain.SetData("DataDirectory", TestHelper.CurrentAssemblyDirectory);
+
if (RequiresDbSetup)
TestHelper.InitializeDatabase();
Resolution.Freeze();
@@ -36,6 +40,8 @@ namespace Umbraco.Tests.TestHelpers
[TearDown]
public virtual void TearDown()
{
+ AppDomain.CurrentDomain.SetData("DataDirectory", null);
+
//reset the app context
ApplicationContext.Current = null;
Resolution.IsFrozen = false;
diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj
index e8893f92a9..b389798cf8 100644
--- a/src/Umbraco.Tests/Umbraco.Tests.csproj
+++ b/src/Umbraco.Tests/Umbraco.Tests.csproj
@@ -53,10 +53,12 @@
+
+
diff --git a/test/umbraco.Test/Umbraco.LegacyTests.csproj b/test/umbraco.Test/Umbraco.LegacyTests.csproj
index 2876f15ebd..942d01a6a4 100644
--- a/test/umbraco.Test/Umbraco.LegacyTests.csproj
+++ b/test/umbraco.Test/Umbraco.LegacyTests.csproj
@@ -122,10 +122,8 @@
Properties\SolutionInfo.cs
-
-