private void WorldObject_AssertEqual_XYType(
     WorldObject obj,
     int expectedX,
     int expectedY,
     WorldObject.Type expectedType)
 {
     Assert.AreEqual(obj.ObjectType, expectedType);
     Assert.AreEqual(obj.X, expectedX);
     Assert.AreEqual(obj.Y, expectedY);
 }
        public void Test_Filtering_ByTag_First(
            string fileToLoad,
            WorldObject.Tag tags,
            WorldObject.Type expectedType,
            int expectedX, int expectedY)
        {
            World       world       = World.FromJSON(fileToLoad, POLYGON_JSON_PATH);
            WorldObject knownObject = world.GetObjectsWithTags(tags).First();

            WorldObject_AssertEqual_XYType(knownObject, expectedX, expectedY, expectedType);
        }
        public void Test_SomeKnownPolygonsOfTestWorld(
            string fileToLoad,
            WorldObject.Type type,

            int expectedP0X0, int expectedP0Y0, int expectedP0X1, int expectedP0Y1
            )
        {
            World world = World.FromJSON(fileToLoad, POLYGON_JSON_PATH);

            WorldObject obj = world.GetObjectsByType(type).First();

            Assert.AreEqual(new Tuple <int, int>(expectedP0X1, expectedP0Y1), obj.Polygons[0].Points[1]);
            Assert.AreEqual(new Tuple <int, int>(expectedP0X0, expectedP0Y0), obj.Polygons[0].Points[0]);
        }
        public void Test_SomeKnownValuesInWorld(
            string fileToLoad, int objectId, WorldObject.Type type, int x, int y, float m11, float m12, float m21, float m22
            )
        {
            JSONWorldSerializer serializer = GetSerializer();

            World       world       = serializer.Load(fileToLoad);
            WorldObject knownObject = world.GetObjectByID(objectId);

            Assert.AreEqual(knownObject.X, x);
            Assert.AreEqual(knownObject.Y, y);
            Assert.AreEqual(knownObject.ObjectType, type);
            Assert.AreEqual(knownObject.Transformation_m11, m11);
            Assert.AreEqual(knownObject.Transformation_m12, m12);
            Assert.AreEqual(knownObject.Transformation_m21, m21);
            Assert.AreEqual(knownObject.Transformation_m22, m22);
        }