public static Dir8 GetDir(this Axis8 axis, int scalar) { if (scalar == 0 & axis.Validate()) { return(Dir8.None); } else { switch (axis) { case Axis8.None: return(Dir8.None); case Axis8.Horiz: return(scalar < 0 ? Dir8.Left : Dir8.Right); case Axis8.Vert: return(scalar < 0 ? Dir8.Up : Dir8.Down); case Axis8.DiagBack: return(scalar < 0 ? Dir8.UpLeft : Dir8.DownRight); case Axis8.DiagForth: return(scalar < 0 ? Dir8.DownLeft : Dir8.UpRight); default: throw new ArgumentOutOfRangeException(nameof(axis), axis, "Invalid enum value."); } } }
public void DirFromAxis(Axis8 axis, int scalar, Dir8 expected, bool exception = false) { if (exception) { Assert.Throws <ArgumentOutOfRangeException>(() => { axis.GetDir(scalar); }); } else { Assert.That(axis.GetDir(scalar), Is.EqualTo(expected)); } }
public void ToAxis8(Axis4 axis, Axis8 expected, bool exception = false) { if (exception) { Assert.Throws <ArgumentOutOfRangeException>(() => { axis.ToAxis8(); }); } else { Assert.That(axis.ToAxis8(), Is.EqualTo(expected)); } }
public static bool Validate(this Axis8 axis) { switch (axis) { case Axis8.None: case Axis8.Horiz: case Axis8.Vert: case Axis8.DiagBack: case Axis8.DiagForth: return(true); default: return(false); } }
public static Axis4 ToAxis4(this Axis8 axis) { switch (axis) { case Axis8.None: return(Axis4.None); case Axis8.Horiz: return(Axis4.Horiz); case Axis8.Vert: return(Axis4.Vert); default: throw new ArgumentOutOfRangeException(nameof(axis), axis, "Invalid enum value."); } }