update eol-style
parent
23e0ef3492
commit
24ac86931a
|
@ -1,30 +1,30 @@
|
|||
using System;
|
||||
using NUnit.Framework.Constraints;
|
||||
|
||||
namespace OpenSim.Tests.Common
|
||||
{
|
||||
public abstract class ANumericalToleranceConstraint : Constraint
|
||||
{
|
||||
protected double _tolerance;
|
||||
|
||||
public ANumericalToleranceConstraint(double tolerance)
|
||||
{
|
||||
if (tolerance < 0)
|
||||
{
|
||||
throw new ArgumentException("Tolerance cannot be negative.");
|
||||
}
|
||||
_tolerance = tolerance;
|
||||
}
|
||||
|
||||
|
||||
protected bool IsWithinDoubleConstraint(double doubleValue, double baseValue)
|
||||
{
|
||||
if (doubleValue >= baseValue - _tolerance && doubleValue <= baseValue + _tolerance)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using NUnit.Framework.Constraints;
|
||||
|
||||
namespace OpenSim.Tests.Common
|
||||
{
|
||||
public abstract class ANumericalToleranceConstraint : Constraint
|
||||
{
|
||||
protected double _tolerance;
|
||||
|
||||
public ANumericalToleranceConstraint(double tolerance)
|
||||
{
|
||||
if (tolerance < 0)
|
||||
{
|
||||
throw new ArgumentException("Tolerance cannot be negative.");
|
||||
}
|
||||
_tolerance = tolerance;
|
||||
}
|
||||
|
||||
|
||||
protected bool IsWithinDoubleConstraint(double doubleValue, double baseValue)
|
||||
{
|
||||
if (doubleValue >= baseValue - _tolerance && doubleValue <= baseValue + _tolerance)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,52 +1,52 @@
|
|||
using System;
|
||||
using NUnit.Framework;
|
||||
using NUnit.Framework.Constraints;
|
||||
using OpenSim.Tests.Common;
|
||||
|
||||
namespace OpenSim.Tests.Common
|
||||
{
|
||||
public class DoubleToleranceConstraint : ANumericalToleranceConstraint
|
||||
{
|
||||
|
||||
private double _baseValue;
|
||||
private double _valueToBeTested;
|
||||
|
||||
public DoubleToleranceConstraint(double baseValue, double tolerance) : base(tolerance)
|
||||
{
|
||||
_baseValue = baseValue;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
///Test whether the constraint is satisfied by a given value
|
||||
///</summary>
|
||||
///<param name="valueToBeTested">The value to be tested</param>
|
||||
///<returns>
|
||||
///True for success, false for failure
|
||||
///</returns>
|
||||
public override bool Matches(object valueToBeTested)
|
||||
{
|
||||
if (valueToBeTested == null)
|
||||
{
|
||||
throw new ArgumentException("Constraint cannot be used upon null values.");
|
||||
}
|
||||
if( valueToBeTested.GetType() != typeof(double))
|
||||
{
|
||||
throw new ArgumentException("Constraint cannot be used upon non double-values.");
|
||||
}
|
||||
|
||||
_valueToBeTested = (double)valueToBeTested;
|
||||
|
||||
return IsWithinDoubleConstraint(_valueToBeTested, _baseValue );
|
||||
}
|
||||
|
||||
public override void WriteDescriptionTo(MessageWriter writer)
|
||||
{
|
||||
writer.WriteExpectedValue(string.Format("A value {0} within tolerance of plus or minus {1}",_baseValue,_tolerance));
|
||||
}
|
||||
|
||||
public override void WriteActualValueTo(MessageWriter writer)
|
||||
{
|
||||
writer.WriteActualValue(_valueToBeTested);
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using NUnit.Framework;
|
||||
using NUnit.Framework.Constraints;
|
||||
using OpenSim.Tests.Common;
|
||||
|
||||
namespace OpenSim.Tests.Common
|
||||
{
|
||||
public class DoubleToleranceConstraint : ANumericalToleranceConstraint
|
||||
{
|
||||
|
||||
private double _baseValue;
|
||||
private double _valueToBeTested;
|
||||
|
||||
public DoubleToleranceConstraint(double baseValue, double tolerance) : base(tolerance)
|
||||
{
|
||||
_baseValue = baseValue;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
///Test whether the constraint is satisfied by a given value
|
||||
///</summary>
|
||||
///<param name="valueToBeTested">The value to be tested</param>
|
||||
///<returns>
|
||||
///True for success, false for failure
|
||||
///</returns>
|
||||
public override bool Matches(object valueToBeTested)
|
||||
{
|
||||
if (valueToBeTested == null)
|
||||
{
|
||||
throw new ArgumentException("Constraint cannot be used upon null values.");
|
||||
}
|
||||
if( valueToBeTested.GetType() != typeof(double))
|
||||
{
|
||||
throw new ArgumentException("Constraint cannot be used upon non double-values.");
|
||||
}
|
||||
|
||||
_valueToBeTested = (double)valueToBeTested;
|
||||
|
||||
return IsWithinDoubleConstraint(_valueToBeTested, _baseValue );
|
||||
}
|
||||
|
||||
public override void WriteDescriptionTo(MessageWriter writer)
|
||||
{
|
||||
writer.WriteExpectedValue(string.Format("A value {0} within tolerance of plus or minus {1}",_baseValue,_tolerance));
|
||||
}
|
||||
|
||||
public override void WriteActualValueTo(MessageWriter writer)
|
||||
{
|
||||
writer.WriteActualValue(_valueToBeTested);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace OpenSim.Tests.Common
|
||||
{
|
||||
public delegate void TestDelegate();
|
||||
|
||||
public class TestHelper
|
||||
{
|
||||
public static bool AssertThisDelegateCausesArgumentException(TestDelegate d)
|
||||
{
|
||||
try
|
||||
{
|
||||
d();
|
||||
}
|
||||
catch(ArgumentException e)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace OpenSim.Tests.Common
|
||||
{
|
||||
public delegate void TestDelegate();
|
||||
|
||||
public class TestHelper
|
||||
{
|
||||
public static bool AssertThisDelegateCausesArgumentException(TestDelegate d)
|
||||
{
|
||||
try
|
||||
{
|
||||
d();
|
||||
}
|
||||
catch(ArgumentException e)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,58 +1,58 @@
|
|||
using System;
|
||||
using libsecondlife;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace OpenSim.Tests.Common
|
||||
{
|
||||
public class VectorToleranceConstraint : ANumericalToleranceConstraint
|
||||
{
|
||||
private LLVector3 _baseValue;
|
||||
private LLVector3 _valueToBeTested;
|
||||
|
||||
public VectorToleranceConstraint(LLVector3 baseValue, double tolerance) : base(tolerance)
|
||||
{
|
||||
_baseValue = baseValue;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
///Test whether the constraint is satisfied by a given value
|
||||
///</summary>
|
||||
///<param name="valueToBeTested">The value to be tested</param>
|
||||
///<returns>
|
||||
///True for success, false for failure
|
||||
///</returns>
|
||||
public override bool Matches(object valueToBeTested)
|
||||
{
|
||||
if (valueToBeTested == null)
|
||||
{
|
||||
throw new ArgumentException("Constraint cannot be used upon null values.");
|
||||
}
|
||||
if (valueToBeTested.GetType() != typeof (LLVector3))
|
||||
{
|
||||
throw new ArgumentException("Constraint cannot be used upon non vector values.");
|
||||
}
|
||||
|
||||
_valueToBeTested = (LLVector3) valueToBeTested;
|
||||
|
||||
if ( IsWithinDoubleConstraint(_valueToBeTested.X,_baseValue.X) &&
|
||||
IsWithinDoubleConstraint(_valueToBeTested.Y,_baseValue.Y) &&
|
||||
IsWithinDoubleConstraint(_valueToBeTested.Z,_baseValue.Z) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void WriteDescriptionTo(MessageWriter writer)
|
||||
{
|
||||
writer.WriteExpectedValue(
|
||||
string.Format("A value {0} within tolerance of plus or minus {1}", _baseValue, _tolerance));
|
||||
}
|
||||
|
||||
public override void WriteActualValueTo(MessageWriter writer)
|
||||
{
|
||||
writer.WriteActualValue(_valueToBeTested);
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using libsecondlife;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace OpenSim.Tests.Common
|
||||
{
|
||||
public class VectorToleranceConstraint : ANumericalToleranceConstraint
|
||||
{
|
||||
private LLVector3 _baseValue;
|
||||
private LLVector3 _valueToBeTested;
|
||||
|
||||
public VectorToleranceConstraint(LLVector3 baseValue, double tolerance) : base(tolerance)
|
||||
{
|
||||
_baseValue = baseValue;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
///Test whether the constraint is satisfied by a given value
|
||||
///</summary>
|
||||
///<param name="valueToBeTested">The value to be tested</param>
|
||||
///<returns>
|
||||
///True for success, false for failure
|
||||
///</returns>
|
||||
public override bool Matches(object valueToBeTested)
|
||||
{
|
||||
if (valueToBeTested == null)
|
||||
{
|
||||
throw new ArgumentException("Constraint cannot be used upon null values.");
|
||||
}
|
||||
if (valueToBeTested.GetType() != typeof (LLVector3))
|
||||
{
|
||||
throw new ArgumentException("Constraint cannot be used upon non vector values.");
|
||||
}
|
||||
|
||||
_valueToBeTested = (LLVector3) valueToBeTested;
|
||||
|
||||
if ( IsWithinDoubleConstraint(_valueToBeTested.X,_baseValue.X) &&
|
||||
IsWithinDoubleConstraint(_valueToBeTested.Y,_baseValue.Y) &&
|
||||
IsWithinDoubleConstraint(_valueToBeTested.Z,_baseValue.Z) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void WriteDescriptionTo(MessageWriter writer)
|
||||
{
|
||||
writer.WriteExpectedValue(
|
||||
string.Format("A value {0} within tolerance of plus or minus {1}", _baseValue, _tolerance));
|
||||
}
|
||||
|
||||
public override void WriteActualValueTo(MessageWriter writer)
|
||||
{
|
||||
writer.WriteActualValue(_valueToBeTested);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,115 +1,115 @@
|
|||
using libsecondlife;
|
||||
using NUnit.Framework;
|
||||
using NUnit.Framework.SyntaxHelpers;
|
||||
|
||||
using OpenSim.Tests.Common;
|
||||
|
||||
namespace OpenSim.Framework.Tests
|
||||
{
|
||||
[TestFixture]
|
||||
public class UtilTests
|
||||
{
|
||||
[Test]
|
||||
public void VectorOperationTests()
|
||||
{
|
||||
LLVector3 v1, v2;
|
||||
double expectedDistance;
|
||||
double expectedMagnitude;
|
||||
double lowPrecisionTolerance = 0.001;
|
||||
|
||||
//Lets test a simple case of <0,0,0> and <5,5,5>
|
||||
{
|
||||
v1 = new LLVector3(0, 0, 0);
|
||||
v2 = new LLVector3(5, 5, 5);
|
||||
expectedDistance = 8.66;
|
||||
Assert.That(Util.GetDistanceTo(v1, v2),
|
||||
new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
|
||||
"Calculated distance between two vectors was not within tolerances.");
|
||||
|
||||
expectedMagnitude = 0;
|
||||
Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
|
||||
|
||||
expectedMagnitude = 8.66;
|
||||
Assert.That(Util.GetMagnitude(v2),
|
||||
new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
|
||||
"Magnitude of vector was incorrect.");
|
||||
|
||||
TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
|
||||
bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
|
||||
Assert.That(causesArgumentException, Is.True,
|
||||
"Getting magnitude of null vector did not cause argument exception.");
|
||||
|
||||
LLVector3 expectedNormalizedVector = new LLVector3(.577f, .577f, .577f);
|
||||
double expectedNormalizedMagnitude = 1;
|
||||
LLVector3 normalizedVector = Util.GetNormalizedVector(v2);
|
||||
Assert.That(normalizedVector,
|
||||
new VectorToleranceConstraint(expectedNormalizedVector, lowPrecisionTolerance),
|
||||
"Normalized vector generated from vector was not what was expected.");
|
||||
Assert.That(Util.GetMagnitude(normalizedVector),
|
||||
new DoubleToleranceConstraint(expectedNormalizedMagnitude, lowPrecisionTolerance),
|
||||
"Normalized vector generated from vector does not have magnitude of 1.");
|
||||
}
|
||||
|
||||
//Lets test a simple case of <0,0,0> and <0,0,0>
|
||||
{
|
||||
v1 = new LLVector3(0, 0, 0);
|
||||
v2 = new LLVector3(0, 0, 0);
|
||||
expectedDistance = 0;
|
||||
Assert.That(Util.GetDistanceTo(v1, v2),
|
||||
new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
|
||||
"Calculated distance between two vectors was not within tolerances.");
|
||||
|
||||
expectedMagnitude = 0;
|
||||
Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
|
||||
|
||||
expectedMagnitude = 0;
|
||||
Assert.That(Util.GetMagnitude(v2),
|
||||
new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
|
||||
"Magnitude of vector was incorrect.");
|
||||
|
||||
TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
|
||||
bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
|
||||
Assert.That(causesArgumentException, Is.True,
|
||||
"Getting magnitude of null vector did not cause argument exception.");
|
||||
|
||||
d = delegate() { Util.GetNormalizedVector(v2); };
|
||||
causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
|
||||
Assert.That(causesArgumentException, Is.True,
|
||||
"Getting magnitude of null vector did not cause argument exception.");
|
||||
}
|
||||
|
||||
//Lets test a simple case of <0,0,0> and <-5,-5,-5>
|
||||
{
|
||||
v1 = new LLVector3(0, 0, 0);
|
||||
v2 = new LLVector3(-5, -5, -5);
|
||||
expectedDistance = 8.66;
|
||||
Assert.That(Util.GetDistanceTo(v1, v2),
|
||||
new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
|
||||
"Calculated distance between two vectors was not within tolerances.");
|
||||
|
||||
expectedMagnitude = 0;
|
||||
Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
|
||||
|
||||
expectedMagnitude = 8.66;
|
||||
Assert.That(Util.GetMagnitude(v2),
|
||||
new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
|
||||
"Magnitude of vector was incorrect.");
|
||||
|
||||
TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
|
||||
bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
|
||||
Assert.That(causesArgumentException, Is.True,
|
||||
"Getting magnitude of null vector did not cause argument exception.");
|
||||
|
||||
LLVector3 expectedNormalizedVector = new LLVector3(-.577f, -.577f, -.577f);
|
||||
double expectedNormalizedMagnitude = 1;
|
||||
LLVector3 normalizedVector = Util.GetNormalizedVector(v2);
|
||||
Assert.That(normalizedVector,
|
||||
new VectorToleranceConstraint(expectedNormalizedVector, lowPrecisionTolerance),
|
||||
"Normalized vector generated from vector was not what was expected.");
|
||||
Assert.That(Util.GetMagnitude(normalizedVector),
|
||||
new DoubleToleranceConstraint(expectedNormalizedMagnitude, lowPrecisionTolerance),
|
||||
"Normalized vector generated from vector does not have magnitude of 1.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using libsecondlife;
|
||||
using NUnit.Framework;
|
||||
using NUnit.Framework.SyntaxHelpers;
|
||||
|
||||
using OpenSim.Tests.Common;
|
||||
|
||||
namespace OpenSim.Framework.Tests
|
||||
{
|
||||
[TestFixture]
|
||||
public class UtilTests
|
||||
{
|
||||
[Test]
|
||||
public void VectorOperationTests()
|
||||
{
|
||||
LLVector3 v1, v2;
|
||||
double expectedDistance;
|
||||
double expectedMagnitude;
|
||||
double lowPrecisionTolerance = 0.001;
|
||||
|
||||
//Lets test a simple case of <0,0,0> and <5,5,5>
|
||||
{
|
||||
v1 = new LLVector3(0, 0, 0);
|
||||
v2 = new LLVector3(5, 5, 5);
|
||||
expectedDistance = 8.66;
|
||||
Assert.That(Util.GetDistanceTo(v1, v2),
|
||||
new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
|
||||
"Calculated distance between two vectors was not within tolerances.");
|
||||
|
||||
expectedMagnitude = 0;
|
||||
Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
|
||||
|
||||
expectedMagnitude = 8.66;
|
||||
Assert.That(Util.GetMagnitude(v2),
|
||||
new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
|
||||
"Magnitude of vector was incorrect.");
|
||||
|
||||
TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
|
||||
bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
|
||||
Assert.That(causesArgumentException, Is.True,
|
||||
"Getting magnitude of null vector did not cause argument exception.");
|
||||
|
||||
LLVector3 expectedNormalizedVector = new LLVector3(.577f, .577f, .577f);
|
||||
double expectedNormalizedMagnitude = 1;
|
||||
LLVector3 normalizedVector = Util.GetNormalizedVector(v2);
|
||||
Assert.That(normalizedVector,
|
||||
new VectorToleranceConstraint(expectedNormalizedVector, lowPrecisionTolerance),
|
||||
"Normalized vector generated from vector was not what was expected.");
|
||||
Assert.That(Util.GetMagnitude(normalizedVector),
|
||||
new DoubleToleranceConstraint(expectedNormalizedMagnitude, lowPrecisionTolerance),
|
||||
"Normalized vector generated from vector does not have magnitude of 1.");
|
||||
}
|
||||
|
||||
//Lets test a simple case of <0,0,0> and <0,0,0>
|
||||
{
|
||||
v1 = new LLVector3(0, 0, 0);
|
||||
v2 = new LLVector3(0, 0, 0);
|
||||
expectedDistance = 0;
|
||||
Assert.That(Util.GetDistanceTo(v1, v2),
|
||||
new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
|
||||
"Calculated distance between two vectors was not within tolerances.");
|
||||
|
||||
expectedMagnitude = 0;
|
||||
Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
|
||||
|
||||
expectedMagnitude = 0;
|
||||
Assert.That(Util.GetMagnitude(v2),
|
||||
new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
|
||||
"Magnitude of vector was incorrect.");
|
||||
|
||||
TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
|
||||
bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
|
||||
Assert.That(causesArgumentException, Is.True,
|
||||
"Getting magnitude of null vector did not cause argument exception.");
|
||||
|
||||
d = delegate() { Util.GetNormalizedVector(v2); };
|
||||
causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
|
||||
Assert.That(causesArgumentException, Is.True,
|
||||
"Getting magnitude of null vector did not cause argument exception.");
|
||||
}
|
||||
|
||||
//Lets test a simple case of <0,0,0> and <-5,-5,-5>
|
||||
{
|
||||
v1 = new LLVector3(0, 0, 0);
|
||||
v2 = new LLVector3(-5, -5, -5);
|
||||
expectedDistance = 8.66;
|
||||
Assert.That(Util.GetDistanceTo(v1, v2),
|
||||
new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
|
||||
"Calculated distance between two vectors was not within tolerances.");
|
||||
|
||||
expectedMagnitude = 0;
|
||||
Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
|
||||
|
||||
expectedMagnitude = 8.66;
|
||||
Assert.That(Util.GetMagnitude(v2),
|
||||
new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
|
||||
"Magnitude of vector was incorrect.");
|
||||
|
||||
TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
|
||||
bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
|
||||
Assert.That(causesArgumentException, Is.True,
|
||||
"Getting magnitude of null vector did not cause argument exception.");
|
||||
|
||||
LLVector3 expectedNormalizedVector = new LLVector3(-.577f, -.577f, -.577f);
|
||||
double expectedNormalizedMagnitude = 1;
|
||||
LLVector3 normalizedVector = Util.GetNormalizedVector(v2);
|
||||
Assert.That(normalizedVector,
|
||||
new VectorToleranceConstraint(expectedNormalizedVector, lowPrecisionTolerance),
|
||||
"Normalized vector generated from vector was not what was expected.");
|
||||
Assert.That(Util.GetMagnitude(normalizedVector),
|
||||
new DoubleToleranceConstraint(expectedNormalizedMagnitude, lowPrecisionTolerance),
|
||||
"Normalized vector generated from vector does not have magnitude of 1.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue