private void StreightAndCurvedWallsTest()
    {
        var nextWall = WallData.CreateStreight(new Vector2(0f, 0f), new Vector2(0f, 2f), 0.2f, 2f);
        var prevWall = WallData.CreateStreight(new Vector2(3f, 2f), new Vector2(3f, 0f), 0.1f, 2f);

        var curvedWall1 = WallData.CreateCurved(
            new Vector2(3f, 0f),
            new Vector2(1.5f, -1.5f),
            new Vector2(0f, 0f),
            0.15f,
            2f,
            new[]
        {
            new OpeningData(OpeningType.Outer, CreateBezierHoleShape(), 0.05f),
            new OpeningData(OpeningType.Inner, CreateRectHoleShape())
        });

        var curvedWall2 = curvedWall1.Reverse();

/*        var curvedWall2 = WallData.CreateCurved (
 *          new Vector2 (3f, 0f),
 *          new Vector2 (1.5f, -1.5f),
 *          new Vector2 (0f, 0f),
 *          0.15f,
 *          2f,
 *          new[]
 *          {
 *              new OpeningData (OpeningType.Through, CreateBezierHoleShape (), 0.05f),
 *              new OpeningData (OpeningType.Through, CreateRectHoleShape ())
 *          });*/

        var matrix       = Matrix3x2.CreateTranslation(0f, 3f);
        var streightWall = WallData.CreateStreight(
            new Vector2(3f, 0f),
            new Vector2(0f, 0f),
            0.3f,
            2f,
            new[]
        {
            new OpeningData(OpeningType.Through, CreateBezierHoleShape()),
            new OpeningData(OpeningType.Through, CreateRectHoleShape())
        });

        RoomMeshesGenerator.CreateWallMeshes(curvedWall1, null, null);
//        SingleWallTest (streightWall.Transform (matrix), nextWall.Transform (matrix), prevWall.Transform (matrix));
        RoomMeshesGenerator.CreateWallMeshes(streightWall.Transform(matrix), nextWall.Transform(matrix), null);

        matrix = Matrix3x2.CreateTranslation(0f, -3f);
        RoomMeshesGenerator.CreateWallMeshes(
            curvedWall2.Transform(matrix),
            prevWall.Reverse().Transform(matrix),
            nextWall.Reverse().Transform(matrix));
    }