diff options
author | bonmas14 <bonmas14@gmail.com> | 2023-10-24 20:59:19 +0300 |
---|---|---|
committer | bonmas14 <bonmas14@gmail.com> | 2023-10-24 20:59:19 +0300 |
commit | bb22f05857bf5358343de294e98a655370e327aa (patch) | |
tree | 482f7f193105619006fb552616224ec1712908b3 /RayRoom.Tests | |
parent | aad3d0382c498f6a39e5dbf5c9682e18127df353 (diff) | |
download | RayRoom-bb22f05857bf5358343de294e98a655370e327aa.tar.gz RayRoom-bb22f05857bf5358343de294e98a655370e327aa.zip |
- raycasting
- System.Drawing visualization
- some tests
Diffstat (limited to 'RayRoom.Tests')
-rw-r--r-- | RayRoom.Tests/GlobalUsings.cs | 1 | ||||
-rw-r--r-- | RayRoom.Tests/MathTest.cs | 41 | ||||
-rw-r--r-- | RayRoom.Tests/RayRoom.Tests.csproj | 23 |
3 files changed, 65 insertions, 0 deletions
diff --git a/RayRoom.Tests/GlobalUsings.cs b/RayRoom.Tests/GlobalUsings.cs new file mode 100644 index 0000000..ab67c7e --- /dev/null +++ b/RayRoom.Tests/GlobalUsings.cs @@ -0,0 +1 @@ +global using Microsoft.VisualStudio.TestTools.UnitTesting;
\ No newline at end of file diff --git a/RayRoom.Tests/MathTest.cs b/RayRoom.Tests/MathTest.cs new file mode 100644 index 0000000..804f32c --- /dev/null +++ b/RayRoom.Tests/MathTest.cs @@ -0,0 +1,41 @@ +using RayRoom.Core; +using System.Numerics; + +namespace RayRoom.Tests +{ + [TestClass] + public class MathTest + { + [TestMethod] + public void TestRayCollision() + { + Ray a = new Ray(Vector2.Zero, Vector2.UnitY); + Ray b = new Ray(new Vector2(4, 5), -Vector2.UnitX); + Ray c = new Ray(Vector2.One, -Vector2.UnitX); + Ray d = new Ray(Vector2.One, Vector2.UnitX); + + Assert.IsTrue(CollisionHelpers.RaycastRayToRay(a, b, out CastInfo info)); + Console.WriteLine(info.ToString()); + Assert.IsTrue(CollisionHelpers.RaycastRayToRay(a, c, out info)); + Console.WriteLine(info.ToString()); + Assert.IsFalse(CollisionHelpers.RaycastRayToRay(a, d, out info)); + Console.WriteLine(info.ToString()); + } + + [TestMethod] + public void TestRayToLineCollision() + { + Line a = new Line(Vector2.Zero, new Vector2(0, 4)); + Ray b = new Ray(new Vector2(4, 5), -Vector2.UnitX); + Ray c = new Ray(Vector2.One, -Vector2.UnitX); + Ray d = new Ray(Vector2.One, Vector2.UnitX); + + Assert.IsFalse(CollisionHelpers.RaycastRayToLine(a, b, out CastInfo info)); + Console.WriteLine(info.ToString()); + Assert.IsTrue(CollisionHelpers.RaycastRayToLine(a, c, out info)); + Console.WriteLine(info.ToString()); + Assert.IsFalse(CollisionHelpers.RaycastRayToLine(a, d, out info)); + Console.WriteLine(info.ToString()); + } + } +}
\ No newline at end of file diff --git a/RayRoom.Tests/RayRoom.Tests.csproj b/RayRoom.Tests/RayRoom.Tests.csproj new file mode 100644 index 0000000..ab4b2fe --- /dev/null +++ b/RayRoom.Tests/RayRoom.Tests.csproj @@ -0,0 +1,23 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + + <IsPackable>false</IsPackable> + <IsTestProject>true</IsTestProject> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" /> + <PackageReference Include="MSTest.TestAdapter" Version="2.2.10" /> + <PackageReference Include="MSTest.TestFramework" Version="2.2.10" /> + <PackageReference Include="coverlet.collector" Version="3.2.0" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\RayRoom\RayRoom.csproj" /> + </ItemGroup> + +</Project> |