Example #1
0
        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.");
                }
            }
        }
Example #2
0
 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));
     }
 }
Example #3
0
 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));
     }
 }
Example #4
0
        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);
            }
        }
Example #5
0
        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.");
            }
        }