// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.IO;
using System.Resources;
using System.Xml;
using ICSharpCode.SharpDevelop;
using ICSharpCode.WixBinding;
using NUnit.Framework;
using WixBinding.Tests.Utils;
namespace WixBinding.Tests.Document
{
///
/// Tests that the WixDirectory object correctly identifies its own child
/// directories.
///
[TestFixture]
public class ChildDirectoriesTestFixture
{
WixDirectoryElement rootDirectory;
WixDirectoryElement programFilesDirectory;
WixDirectoryElement myAppDirectory;
WixDirectoryElement testDirectory;
WixDirectoryElement[] rootChildDirectories;
WixDirectoryElement[] programFilesChildDirectories;
[TestFixtureSetUp]
public void SetUpFixture()
{
SD.InitializeForUnitTests();
WixBindingTestsHelper.RegisterResourceStringsWithSharpDevelopResourceManager();
WixDocument doc = new WixDocument();
doc.LoadXml(GetWixXml());
rootDirectory = doc.GetRootDirectory();
rootChildDirectories = rootDirectory.GetDirectories();
programFilesDirectory = rootChildDirectories[0];
programFilesChildDirectories = programFilesDirectory.GetDirectories();
myAppDirectory = programFilesChildDirectories[0];
testDirectory = rootChildDirectories[1];
}
[Test]
public void RootDirectoryHasTwoChildDirectories()
{
Assert.AreEqual(2, rootChildDirectories.Length);
}
[Test]
public void MyAppDirectoryHasNoChildDirectories()
{
Assert.AreEqual(0, myAppDirectory.GetDirectories().Length);
}
[Test]
public void MyAppDirectorySourceName()
{
Assert.AreEqual("MyAppSrc", myAppDirectory.SourceName);
}
[Test]
public void MyAppDirectoryName()
{
Assert.AreEqual("My Application", myAppDirectory.DirectoryName);
}
[Test]
public void ProgramFilesDirectoryHasOneChildDirectory()
{
Assert.AreEqual(1, programFilesChildDirectories.Length);
}
[Test]
public void TestDirectoryId()
{
Assert.AreEqual("Test", testDirectory.Id);
}
[Test]
public void TestDirectoryName()
{
Assert.AreEqual("App", testDirectory.DirectoryName);
}
[Test]
public void ProgramFilesDirectoryName()
{
Assert.AreEqual("Program Files", programFilesDirectory.DirectoryName);
}
string GetWixXml()
{
return "\r\n" +
"\t\r\n" +
"\t\t\r\n" +
"\t\t\r\n" +
"\t\t\t\r\n" +
"\t\t\t\t\r\n" +
"\t\t\t\t\r\n" +
"\t\t\t\r\n" +
"\t\t\t\r\n" +
"\t\t\r\n" +
"\t\r\n" +
"";
}
}
}