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); } } }