* Use AppService for Commnunication instead of WebSocket * Code cleanup * Some polishing * Added some tests
45 lines
1.4 KiB
C#
45 lines
1.4 KiB
C#
using AutoFixture;
|
|
using FluentAssertions;
|
|
using FluentTerminal.App.Services.Implementation;
|
|
using Moq;
|
|
using Xunit;
|
|
|
|
namespace FluentTerminal.App.Services.Test
|
|
{
|
|
public class ThemeParserFactoryTests
|
|
{
|
|
private readonly Fixture _fixture;
|
|
|
|
public ThemeParserFactoryTests()
|
|
{
|
|
_fixture = new Fixture();
|
|
}
|
|
|
|
[Fact]
|
|
public void GetParser_SupportedFileType_ReturnsParser()
|
|
{
|
|
var supportedFileType = _fixture.Create<string>();
|
|
var parser = new Mock<IThemeParser>();
|
|
parser.Setup(x => x.SupportedFileTypes).Returns(new string[] { supportedFileType });
|
|
var themeParserFactory = new ThemeParserFactory(new IThemeParser[] { parser.Object });
|
|
|
|
var result = themeParserFactory.GetParser(supportedFileType);
|
|
|
|
parser.Should().Be(parser);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetParser_UnsupportedFileType_ReturnsNull()
|
|
{
|
|
var unSupportedFileType = _fixture.Create<string>();
|
|
var supportedFileType = _fixture.Create<string>();
|
|
var parser = new Mock<IThemeParser>();
|
|
parser.Setup(x => x.SupportedFileTypes).Returns(new string[] { supportedFileType });
|
|
var themeParserFactory = new ThemeParserFactory(new IThemeParser[] { parser.Object });
|
|
|
|
var result = themeParserFactory.GetParser(unSupportedFileType);
|
|
|
|
result.Should().BeNull();
|
|
}
|
|
}
|
|
} |