mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-21 16:45:44 +00:00
96 lines
2.7 KiB
C#
96 lines
2.7 KiB
C#
using System;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using ZoneCodeGenerator.Domain;
|
|
|
|
namespace ZoneCodeGeneratorTests.Domain
|
|
{
|
|
[TestClass]
|
|
public class NamespaceTest
|
|
{
|
|
[TestMethod]
|
|
public void EnsureEmptyNamespaceResultIsCorrect()
|
|
{
|
|
var nameSpace = new Namespace();
|
|
|
|
Assert.AreEqual("", nameSpace.GetName());
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EnsureSingleNamespaceElementResultIsCorrect()
|
|
{
|
|
var nameSpace = new Namespace();
|
|
|
|
nameSpace.Push("NameTheSpace");
|
|
|
|
Assert.AreEqual("NameTheSpace", nameSpace.GetName());
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EnsureDoubleNamespaceElementResultIsCorrect()
|
|
{
|
|
var nameSpace = new Namespace();
|
|
|
|
nameSpace.Push("NameTheSpace");
|
|
nameSpace.Push("Please");
|
|
|
|
Assert.AreEqual("NameTheSpace::Please", nameSpace.GetName());
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EnsurePopRemovesNamespace()
|
|
{
|
|
var nameSpace = new Namespace();
|
|
|
|
nameSpace.Push("NameTheSpace");
|
|
nameSpace.Push("Please");
|
|
nameSpace.Push("Not");
|
|
|
|
Assert.AreEqual("Not", nameSpace.Pop());
|
|
Assert.AreEqual("NameTheSpace::Please", nameSpace.GetName());
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EnsureMultipleNamespaceElementsResultIsCorrect()
|
|
{
|
|
var nameSpace = new Namespace();
|
|
|
|
nameSpace.Push("NameTheSpace");
|
|
nameSpace.Push("Please");
|
|
nameSpace.Push("Just");
|
|
nameSpace.Push("Not");
|
|
nameSpace.Push("MySpace");
|
|
|
|
Assert.AreEqual("NameTheSpace::Please::Just::Not::MySpace", nameSpace.GetName());
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EnsureNamespaceCanBePoppedToEmpty()
|
|
{
|
|
var nameSpace = new Namespace();
|
|
|
|
nameSpace.Push("NameTheSpace");
|
|
nameSpace.Push("Please");
|
|
|
|
Assert.AreEqual("Please", nameSpace.Pop());
|
|
Assert.AreEqual("NameTheSpace", nameSpace.Pop());
|
|
|
|
Assert.AreEqual("", nameSpace.GetName());
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EnsureUsingPopTooOftenResultsInAnError()
|
|
{
|
|
var nameSpace = new Namespace();
|
|
|
|
nameSpace.Push("NameTheSpace");
|
|
nameSpace.Push("Please");
|
|
|
|
Assert.AreEqual("Please", nameSpace.Pop());
|
|
Assert.AreEqual("NameTheSpace", nameSpace.Pop());
|
|
Assert.ThrowsException<InvalidOperationException>(() => nameSpace.Pop());
|
|
|
|
Assert.AreEqual("", nameSpace.GetName());
|
|
}
|
|
}
|
|
}
|