public void Clamp()
{
Action<Range, Dir, Dir> check = (range, dir, res) => {
Assert.IsTrue(range.Clamp(dir).Equals(res));
Assert.IsTrue(dir.ClampedInside(range).Equals(res));
};
check(Range.PositiveXPositiveY, Dir.AlongPositiveX, Dir.AlongPositiveX);
check(Range.PositiveXPositiveY, Dir.AlongPositiveY, Dir.AlongPositiveY);
check(Range.PositiveXPositiveY, Dir.AlongNegativeX, Dir.AlongPositiveY);
check(Range.PositiveXPositiveY, Dir.AlongNegativeY, Dir.AlongPositiveX);
}