public static void Test_LinearKeyEncodeZero()
    {
        Vector3    test      = new Vector3(0, 0, 0);
        LinearKey3 linearKey = new LinearKey3(test);

        Debug.Assert(linearKey.key == 0, "Expected Test(" + test + ") to be Equal to Key(" + linearKey.key + ")");
    }
    public static void Test_LinearKeyEncodeDecode()
    {
        for (int x = 4; x < 9; x++)
        {
            for (int y = 3; y < 10; y++)
            {
                for (int z = 2; z < 11; z++)
                {
                    Vector3    test      = new Vector3(x, y, z);
                    LinearKey3 linearKey = new LinearKey3(test);
                    Vector3    decode    = linearKey.Value;

                    Debug.Assert(test == decode, "Expected Test(" + test + ") to be Equal to Key(" + decode + ")");
                }
            }
        }
    }
    public static void Test_LinearKeyEncodeDecodeDecXYZ()
    {
        for (int x = 4; x < 9; x++)
        {
            for (int y = 3; y < 10; y++)
            {
                for (int z = 2; z < 11; z++)
                {
                    Vector3 test    = new Vector3(x, y, z);
                    Vector3 testInc = new Vector3(x - 1, y - 1, z - 1);

                    LinearKey3 linearKey = new LinearKey3(test);
                    LinearKey3 testKey   = linearKey.DecXYZ();
                    Vector3    decode    = testKey.Value;

                    Debug.Assert(testInc == decode, "Expected Test(" + testInc + ") to be Equal to Key(" + decode + ") via Original(" + test + ")");
                }
            }
        }
    }