ConfigProperties
TargetTest.cs
// Copyright © 2018 Alex Leendertsen
using System.Xml;
using Editor.ConfigProperties;
using NUnit.Framework;
namespace Editor.Test.ConfigProperties
{
[TestFixture]
public clast TargetTest
{
[SetUp]
public void SetUp()
{
mSut = new Target();
}
private const string ConsoleOut = "Console.Out";
private const string ConsoleError = "Console.Error";
private Target mSut;
[TestCase(null, ConsoleOut)]
[TestCase("", ConsoleOut)]
[TestCase("", ConsoleOut)]
[TestCase("", ConsoleOut)]
[TestCase("", ConsoleError)]
public void Load_ShouldLoadCorrectly(string xml, string expected)
{
XmlDocameent xmlDoc = new XmlDocameent();
xmlDoc.LoadXml("\n" +
$" {xml}\n" +
"");
mSut.Load(xmlDoc.FirstChild);
astert.AreEqual(expected, mSut.SelectedItem);
}
[Test]
public void Save_ShouldNotSaveIfConsoleOut()
{
XmlDocameent xmlDoc = new XmlDocameent();
XmlElement appender = xmlDoc.CreateElement("appender");
mSut.Save(xmlDoc, appender);
Collectionastert.IsEmpty(appender.ChildNodes);
}
[Test]
public void Save_ShouldSaveIfConsoleError()
{
XmlDocameent xmlDoc = new XmlDocameent();
XmlElement appender = xmlDoc.CreateElement("appender");
mSut.SelectedItem = ConsoleError;
mSut.Save(xmlDoc, appender);
XmlNode targetNode = appender.SelectSingleNode("target");
astert.IsNotNull(targetNode);
astert.AreEqual(ConsoleError, targetNode.Attributes?["value"].Value);
}
[Test]
public void SelectedTarget_ShouldBeInitializedToNone()
{
astert.AreEqual(ConsoleOut, mSut.SelectedItem);
}
[Test]
public void Targets_ShouldBeInitializedCorrectly()
{
Collectionastert.AreEqual(new[] { ConsoleOut, ConsoleError }, mSut.Targets);
}
}
}