Skip to content

Commit 4aed86a

Browse files
committed
Added unit tests.
1 parent c5bd844 commit 4aed86a

File tree

6 files changed

+98
-3
lines changed

6 files changed

+98
-3
lines changed

.github/workflows/tests.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: macOS Build and Test
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
build-and-test:
13+
runs-on: macos-latest
14+
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v3
18+
19+
- name: Setup .NET
20+
uses: actions/setup-dotnet@v3
21+
with:
22+
dotnet-version: '8.x'
23+
24+
- name: Restore dependencies
25+
run: dotnet restore
26+
27+
- name: Build
28+
run: dotnet build
29+
30+
- name: Run tests
31+
run: dotnet test
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
namespace Hexa.NET.ImGui.Widgets.Tests
2+
{
3+
using Hexa.NET.ImGui.Widgets.Dialogs;
4+
5+
[TestFixture]
6+
public class FileUtilitiesTests
7+
{
8+
[Test]
9+
[Platform(Include = "MacOsX", Reason = "This test is only applicable on macOS.")]
10+
public void EnumerateEntriesOSXTest()
11+
{
12+
// Arrange
13+
string testDirectory = AppDomain.CurrentDomain.BaseDirectory;
14+
15+
foreach (var entry in FileUtilities.EnumerateEntriesOSX(testDirectory, "*", SearchOption.TopDirectoryOnly))
16+
{
17+
var path = entry.Path.ToString();
18+
string fileName = Path.GetFileName(path);
19+
Assert.Multiple(() =>
20+
{
21+
Assert.That(string.IsNullOrEmpty(path), Is.False, "Path should not be empty");
22+
Assert.That(string.IsNullOrEmpty(fileName), Is.False, "File name should not be empty");
23+
});
24+
25+
// Optional: Print the path and file name for verification
26+
Console.WriteLine($"Path: {entry.Path}, File Name: {fileName}");
27+
}
28+
}
29+
}
30+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
8+
<IsPackable>false</IsPackable>
9+
<IsTestProject>true</IsTestProject>
10+
</PropertyGroup>
11+
12+
<ItemGroup>
13+
<PackageReference Include="coverlet.collector" Version="6.0.0" />
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
15+
<PackageReference Include="NUnit" Version="3.14.0" />
16+
<PackageReference Include="NUnit.Analyzers" Version="3.9.0" />
17+
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
18+
</ItemGroup>
19+
20+
<ItemGroup>
21+
<ProjectReference Include="..\Hexa.NET.ImGui.Widgets\Hexa.NET.ImGui.Widgets.csproj" />
22+
</ItemGroup>
23+
24+
<ItemGroup>
25+
<Using Include="NUnit.Framework" />
26+
</ItemGroup>
27+
28+
</Project>

Hexa.NET.ImGui.Widgets.sln

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hexa.NET.ImGui.Widgets.Extr
1111
EndProject
1212
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PerformanceTests", "PerformanceTests\PerformanceTests.csproj", "{B0B1BFA5-9CB4-4811-9167-A8B7566EAF41}"
1313
EndProject
14-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacTestThing", "MacTestThing\MacTestThing.csproj", "{E795FFEF-FC5E-4642-A352-4DC63705ADD5}"
14+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MacTestThing", "MacTestThing\MacTestThing.csproj", "{E795FFEF-FC5E-4642-A352-4DC63705ADD5}"
15+
EndProject
16+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hexa.NET.ImGui.Widgets.Tests", "Hexa.NET.ImGui.Widgets.Tests\Hexa.NET.ImGui.Widgets.Tests.csproj", "{E21C9162-0F05-459F-A1FE-6803036FD9B9}"
1517
EndProject
1618
Global
1719
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -39,6 +41,10 @@ Global
3941
{E795FFEF-FC5E-4642-A352-4DC63705ADD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
4042
{E795FFEF-FC5E-4642-A352-4DC63705ADD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
4143
{E795FFEF-FC5E-4642-A352-4DC63705ADD5}.Release|Any CPU.Build.0 = Release|Any CPU
44+
{E21C9162-0F05-459F-A1FE-6803036FD9B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45+
{E21C9162-0F05-459F-A1FE-6803036FD9B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
46+
{E21C9162-0F05-459F-A1FE-6803036FD9B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
47+
{E21C9162-0F05-459F-A1FE-6803036FD9B9}.Release|Any CPU.Build.0 = Release|Any CPU
4248
EndGlobalSection
4349
GlobalSection(SolutionProperties) = preSolution
4450
HideSolutionNode = FALSE

Hexa.NET.ImGui.Widgets/Hexa.NET.ImGui.Widgets.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848

4949
<ItemGroup>
5050
<PackageReference Include="Hexa.NET.ImGui" Version="2.1.10" />
51-
<PackageReference Include="Hexa.NET.Utilities" Version="2.1.9" />
51+
<PackageReference Include="Hexa.NET.Utilities" Version="2.1.10" />
5252
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.10.0" />
5353
</ItemGroup>
5454

TestApp/TestApp.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<PackageReference Include="Hexa.NET.OpenGL3" Version="1.0.1" />
1919
<PackageReference Include="Hexa.NET.SDL2" Version="1.2.7" />
2020
<PackageReference Include="Hexa.NET.Math" Version="2.0.2" />
21-
<PackageReference Include="Hexa.NET.Utilities" Version="2.1.8" />
21+
<PackageReference Include="Hexa.NET.Utilities" Version="2.1.10" />
2222
<PackageReference Include="Hexa.NET.ImGui.Backends" Version="1.0.7" />
2323
<PackageReference Include="Hexa.NET.ImGui.Backends.SDL2" Version="1.0.7" />
2424
</ItemGroup>

0 commit comments

Comments
 (0)