示例#1
0
        public void TestOffsetBaseItf()
        {
            var storage = new DynamicArrayStorage <OffsetCoordinatesBase>();
            var ec      = new EvenColumn(12, 3);

            storage.Add(ec);
            Assert.AreEqual(ec, storage.Get(12, 3));
        }
示例#2
0
        public void TestVecCast()
        {
            var              v1     = new CubeCoordinates(1, 0, -1);
            Vector2          vec    = v1;
            AxialCoordinates axial  = vec;
            Vector3          vec3   = axial;
            AxialCoordinates axial2 = vec3;
            CubeCoordinates  cube   = vec3;
            Vector2          vec2   = axial;
            EvenColumn       ec     = axial2;
            OddColumn        oc     = (OddColumn)ec;
            EvenRow          er     = (EvenRow)oc;
            OddRow           or     = (OddRow)er;

            vec2 = oc;
            Assert.AreEqual(v1, (CubeCoordinates)vec2);
            vec2 = or;
            Assert.AreEqual(v1, (CubeCoordinates)vec2);
            vec2 = ec;
            Assert.AreEqual(v1, (CubeCoordinates)vec2);
            vec2 = er;
            Assert.AreEqual(v1, (CubeCoordinates)vec2);

            oc = vec2;
            or = vec2;
            ec = vec2;
            er = vec2;

            vec3 = oc;
            Assert.AreEqual(v1, (CubeCoordinates)vec3);
            vec3 = or;
            Assert.AreEqual(v1, (CubeCoordinates)vec3);
            vec3 = ec;
            Assert.AreEqual(v1, (CubeCoordinates)vec3);
            vec3 = er;
            Assert.AreEqual(v1, (CubeCoordinates)vec3);

            oc = vec3;
            or = vec3;
            ec = vec3;
            er = vec3;

            Assert.AreEqual(v1, (CubeCoordinates)vec);
            Assert.AreEqual(v1, (CubeCoordinates)axial);
            Assert.AreEqual(v1, (CubeCoordinates)vec3);
            Assert.AreEqual(v1, (CubeCoordinates)cube);
            Assert.AreEqual(v1, (CubeCoordinates)vec2);
        }