mirror of
https://github.com/LBPUnion/ProjectLighthouse.git
synced 2025-05-28 03:32:27 +00:00
Add method to determine a file type
This commit is contained in:
parent
d089cdc60a
commit
c84c15fa2c
11 changed files with 144 additions and 2 deletions
1
ProjectLighthouse.Tests/ExampleFiles/TestFarc.farc
Normal file
1
ProjectLighthouse.Tests/ExampleFiles/TestFarc.farc
Normal file
|
@ -0,0 +1 @@
|
|||
FSHbFARC
|
BIN
ProjectLighthouse.Tests/ExampleFiles/TestLevel.lvl
Normal file
BIN
ProjectLighthouse.Tests/ExampleFiles/TestLevel.lvl
Normal file
Binary file not shown.
3
ProjectLighthouse.Tests/ExampleFiles/TestScript.ff
Normal file
3
ProjectLighthouse.Tests/ExampleFiles/TestScript.ff
Normal file
|
@ -0,0 +1,3 @@
|
|||
FSH
|
||||
|
||||
this is not my stuff to upload so its just gonna be a file like this for now :/
|
BIN
ProjectLighthouse.Tests/ExampleFiles/TestTexture.tex
Normal file
BIN
ProjectLighthouse.Tests/ExampleFiles/TestTexture.tex
Normal file
Binary file not shown.
|
@ -23,7 +23,9 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ProjectLighthouse\ProjectLighthouse.csproj" />
|
||||
<ProjectReference Include="..\ProjectLighthouse\ProjectLighthouse.csproj" />
|
||||
<Content Include="ExampleFiles\**">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
53
ProjectLighthouse.Tests/Tests/FileTypeTests.cs
Normal file
53
ProjectLighthouse.Tests/Tests/FileTypeTests.cs
Normal file
|
@ -0,0 +1,53 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using ProjectLighthouse.Types.Files;
|
||||
using Xunit;
|
||||
|
||||
namespace ProjectLighthouse.Tests {
|
||||
public class FileTypeTests {
|
||||
[Fact]
|
||||
public void ShouldRecognizeLevel() {
|
||||
LbpFile file = new(File.ReadAllBytes("ExampleFiles/TestLevel.lvl"));
|
||||
Assert.True(file.FileType == LbpFileType.Level);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ShouldRecognizeScript() {
|
||||
LbpFile file = new(File.ReadAllBytes("ExampleFiles/TestScript.ff"));
|
||||
Assert.True(file.FileType == LbpFileType.Script);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ShouldRecognizeTexture() {
|
||||
LbpFile file = new(File.ReadAllBytes("ExampleFiles/TestTexture.tex"));
|
||||
Assert.True(file.FileType == LbpFileType.Texture);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ShouldRecognizeFileArchive() {
|
||||
LbpFile file = new(File.ReadAllBytes("ExampleFiles/TestFarc.farc"));
|
||||
Assert.True(file.FileType == LbpFileType.FileArchive);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ShouldNotRecognizeFileArchiveAsScript() {
|
||||
LbpFile file = new(File.ReadAllBytes("ExampleFiles/TestFarc.farc"));
|
||||
Assert.False(file.FileType == LbpFileType.Script);
|
||||
Assert.True(file.FileType == LbpFileType.FileArchive);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ShouldRecognizeNothingAsUnknown() {
|
||||
LbpFile file = new(Array.Empty<byte>());
|
||||
Assert.True(file.FileType == LbpFileType.Unknown);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ShouldRecognizeGarbageAsUnknown() {
|
||||
LbpFile file = new(Encoding.ASCII.GetBytes("free pc only $900"));
|
||||
Assert.True(file.FileType == LbpFileType.Unknown);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue