mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-01-13 16:59:38 -05:00
This commit imports the C# engine code and game files, excluding C++ source code. [Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
52 lines
1.2 KiB
C#
52 lines
1.2 KiB
C#
namespace TestSystem;
|
|
|
|
[TestClass]
|
|
public class SphereTest
|
|
{
|
|
[TestMethod]
|
|
public void TraceSphere()
|
|
{
|
|
{
|
|
var sphere = new Sphere( 0, 5 );
|
|
var ray = new Ray( new Vector3( -100, 0, 0 ), new Vector3( 1, 0, 0 ) );
|
|
Assert.IsTrue( sphere.Trace( ray, 100, out var dist ) );
|
|
Assert.AreEqual( 95.0f, dist );
|
|
}
|
|
|
|
{
|
|
var sphere = new Sphere( 0, 5 );
|
|
var ray = new Ray( new Vector3( 100, 0, 0 ), new Vector3( -1, 0, 0 ) );
|
|
Assert.IsTrue( sphere.Trace( ray, 100, out var dist ) );
|
|
Assert.AreEqual( 95.0f, dist );
|
|
}
|
|
|
|
{
|
|
var sphere = new Sphere( 0, 95 );
|
|
var ray = new Ray( new Vector3( 100, 0, 0 ), new Vector3( -1, 0, 0 ) );
|
|
Assert.IsTrue( sphere.Trace( ray, 100, out var dist ) );
|
|
Assert.AreEqual( 5.0f, dist );
|
|
}
|
|
|
|
{
|
|
var sphere = new Sphere( 0, 10 );
|
|
var ray = new Ray( new Vector3( 100, 11, 0 ), new Vector3( -1, 0, 0 ) );
|
|
Assert.IsFalse( sphere.Trace( ray, float.MaxValue, out var dist ) );
|
|
}
|
|
|
|
}
|
|
|
|
[TestMethod]
|
|
public void SerializeSphere()
|
|
{
|
|
var sphere = new Sphere( new Vector3( 1, 2, 3 ), 32 );
|
|
|
|
var json = Json.Serialize( sphere );
|
|
|
|
var newSphere = Json.Deserialize<Sphere>( json );
|
|
|
|
Assert.AreEqual( sphere.Radius, newSphere.Radius );
|
|
Assert.AreEqual( sphere.Center, newSphere.Center );
|
|
}
|
|
|
|
}
|