Filtration/Filtration.ThemeEditor.Tests/Models/TestTheme.cs

79 lines
2.4 KiB
C#

using System.Windows.Media;
using Filtration.ObjectModel.BlockItemTypes;
using Filtration.ObjectModel.Enums;
using Filtration.ObjectModel.ThemeEditor;
using NUnit.Framework;
namespace Filtration.ThemeEditor.Tests.Models
{
[TestFixture]
public class TestTheme
{
[Test]
public void ComponentExists_ComponentDoesExist_ReturnsTrue()
{
// Arrange
var theme = new Theme();
var testInputComponentTargetType = ThemeComponentType.TextColor;
const string TestInputComponentName = "test";
theme.AddComponent(testInputComponentTargetType, TestInputComponentName, new Color());
// Act
var result = theme.ComponentExists(testInputComponentTargetType, TestInputComponentName);
// Assert
Assert.AreEqual(true, result);
}
[Test]
public void ComponentExists_ComponentDoesNotExist_DifferentNameSameType_ReturnsFalse()
{
// Arrange
var theme = new Theme();
var testInputComponentTargetType = ThemeComponentType.TextColor;
const string TestInputComponentName = "test";
theme.AddComponent(testInputComponentTargetType, TestInputComponentName, new Color());
// Act
var result = theme.ComponentExists(testInputComponentTargetType, "blah");
// Assert
Assert.AreEqual(false, result);
}
[Test]
public void ComponentExists_ComponentDoesNotExist_DifferentTypeSameName_ReturnsFalse()
{
// Arrange
var theme = new Theme();
var testInputComponentTargetType = ThemeComponentType.TextColor;
const string TestInputComponentName = "test";
theme.AddComponent(testInputComponentTargetType, TestInputComponentName, new Color());
// Act
var result = theme.ComponentExists(ThemeComponentType.BorderColor, TestInputComponentName);
// Assert
Assert.AreEqual(false, result);
}
[Test]
public void ComponentExists_ComponentDoesNotExist_NoComponents_ReturnsFalse()
{
// Arrange
var theme = new Theme();
// Act
var result = theme.ComponentExists(ThemeComponentType.BorderColor, "test");
// Assert
Assert.AreEqual(false, result);
}
}
}