Skip to content

Commit

Permalink
Add naive tests
Browse files Browse the repository at this point in the history
  • Loading branch information
gldraphael committed Oct 12, 2019
1 parent b6f5f39 commit 641bd9f
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 14 deletions.
28 changes: 28 additions & 0 deletions SubtitlesParser.Tests/InvalidFiles_should.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using SubtitlesParser.Classes.Parsers;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using Xunit;

namespace SubtitlesParser.Tests
{
public class InvalidFiles_should
{
SubParser parser = new SubParser();

[Fact]
public void Throw_on_parse()
{
foreach (var filePath in TestFiles.InvalidFiles)
{
var fileName = Path.GetFileName(filePath);
using (var fileStream = File.OpenRead(filePath))
{
var mostLikelyFormat = parser.GetMostLikelyFormat(fileName);
Assert.Throws<FormatException>(() => parser.ParseStream(fileStream, Encoding.UTF8, mostLikelyFormat));
}
}
}
}
}
20 changes: 20 additions & 0 deletions SubtitlesParser.Tests/TestFiles.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using System.IO;

namespace SubtitlesParser.Tests
{
public static class TestFiles
{
public static string[] ValidFiles { get; }
public static string[] InvalidFiles { get; }

static TestFiles()
{
ValidFiles = GetFiles(@"Content\ValidFiles");
InvalidFiles = GetFiles(@"Content\InvalidFiles");
}

private static string[] GetFiles(string relativePath) =>
Directory.GetFiles(Path.GetFullPath(relativePath));

}
}
14 changes: 0 additions & 14 deletions SubtitlesParser.Tests/UnitTest1.cs

This file was deleted.

26 changes: 26 additions & 0 deletions SubtitlesParser.Tests/ValidFiles_should.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using SubtitlesParser.Classes.Parsers;
using System.IO;
using System.Text;
using Xunit;

namespace SubtitlesParser.Tests
{
public class ValidFiles_should
{
SubParser parser = new SubParser();

[Fact]
public void Parse_successfully()
{
foreach(var filePath in TestFiles.ValidFiles)
{
var fileName = Path.GetFileName(filePath);
using (var fileStream = File.OpenRead(filePath))
{
var mostLikelyFormat = parser.GetMostLikelyFormat(fileName);
_ = parser.ParseStream(fileStream, Encoding.UTF8, mostLikelyFormat);
}
}
}
}
}

0 comments on commit 641bd9f

Please sign in to comment.