mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-10 14:58:10 -05:00
Import code from previous AssetBuilder version
This commit is contained in:
95
test/ZoneCodeGeneratorTests/Domain/NamespaceTest.cs
Normal file
95
test/ZoneCodeGeneratorTests/Domain/NamespaceTest.cs
Normal file
@ -0,0 +1,95 @@
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user