2015-07-02 12:57:43 -04:00
|
|
|
|
using System.Windows.Media;
|
2015-07-04 12:28:34 -04:00
|
|
|
|
using Filtration.Common.Services;
|
2015-07-02 12:57:43 -04:00
|
|
|
|
using Filtration.ObjectModel;
|
|
|
|
|
using Filtration.ObjectModel.BlockItemTypes;
|
|
|
|
|
using Filtration.ObjectModel.Enums;
|
|
|
|
|
using Filtration.ObjectModel.ThemeEditor;
|
|
|
|
|
using Filtration.ThemeEditor.Services;
|
2015-07-04 12:28:34 -04:00
|
|
|
|
using Moq;
|
2015-07-02 12:57:43 -04:00
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
|
|
|
|
|
namespace Filtration.ThemeEditor.Tests.Services
|
|
|
|
|
{
|
|
|
|
|
[TestFixture]
|
|
|
|
|
public class TestThemeService
|
|
|
|
|
{
|
|
|
|
|
[Test]
|
|
|
|
|
public void ApplyThemeToScript_SingleBlock_ReplacesColor()
|
|
|
|
|
{
|
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
var testInputBlockItem = new TextColorBlockItem();
|
|
|
|
|
var testInputBlock = new ItemFilterBlock();
|
|
|
|
|
testInputBlock.BlockItems.Add(testInputBlockItem);
|
|
|
|
|
var testInputScript = new ItemFilterScript();
|
|
|
|
|
testInputScript.ItemFilterBlocks.Add(testInputBlock);
|
|
|
|
|
|
|
|
|
|
var testInputTheme = new Theme();
|
|
|
|
|
var testInputThemeComponentColor = new Color{ R = 255, G = 0, B = 1 };
|
|
|
|
|
var testInputThemeComponent = new ThemeComponent(ThemeComponentType.TextColor, "Test Component 1", testInputThemeComponentColor);
|
|
|
|
|
testInputTheme.Components.Add(testInputThemeComponent);
|
|
|
|
|
testInputBlockItem.ThemeComponent = testInputThemeComponent;
|
2015-07-04 12:28:34 -04:00
|
|
|
|
var mockMessageBoxService = new Mock<IMessageBoxService>();
|
2015-07-02 12:57:43 -04:00
|
|
|
|
|
2015-07-04 12:28:34 -04:00
|
|
|
|
var service = new ThemeService(mockMessageBoxService.Object);
|
2015-07-02 12:57:43 -04:00
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
|
service.ApplyThemeToScript(testInputTheme, testInputScript);
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.AreEqual(testInputThemeComponentColor, testInputBlockItem.Color);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void ApplyThemeToScript_SingleBlockDifferentComponentName_DoesNotReplaceColour()
|
|
|
|
|
{
|
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
var testInputBlockItem = new TextColorBlockItem();
|
|
|
|
|
var testInputBlock = new ItemFilterBlock();
|
|
|
|
|
testInputBlock.BlockItems.Add(testInputBlockItem);
|
|
|
|
|
var testInputScript = new ItemFilterScript();
|
|
|
|
|
testInputScript.ItemFilterBlocks.Add(testInputBlock);
|
|
|
|
|
|
|
|
|
|
var testInputTheme = new Theme();
|
|
|
|
|
var testInputThemeComponentColor = new Color { R = 255, G = 0, B = 1 };
|
|
|
|
|
var testInputThemeComponent = new ThemeComponent(ThemeComponentType.TextColor, "Test Component 1", testInputThemeComponentColor);
|
|
|
|
|
var testInputBlockItemThemeComponent = new ThemeComponent(ThemeComponentType.TextColor, "Different Component", testInputThemeComponentColor);
|
|
|
|
|
testInputTheme.Components.Add(testInputThemeComponent);
|
|
|
|
|
testInputBlockItem.ThemeComponent = testInputBlockItemThemeComponent;
|
2015-07-04 12:28:34 -04:00
|
|
|
|
|
|
|
|
|
var mockMessageBoxService = new Mock<IMessageBoxService>();
|
2015-07-02 12:57:43 -04:00
|
|
|
|
|
2015-07-04 12:28:34 -04:00
|
|
|
|
var service = new ThemeService(mockMessageBoxService.Object);
|
2015-07-02 12:57:43 -04:00
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
|
service.ApplyThemeToScript(testInputTheme, testInputScript);
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.AreNotEqual(testInputThemeComponentColor, testInputBlockItem.Color);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|