Ejemplo n.º 1
0
        private static void Create(CreateFromTemplate fromTemplate, string type, int smallMax, int mediumMax, int?largeMax, string[] values, int[] expectedBitCount, string extraType = "")
        {
            fromTemplate.Replace("%%TYPE%%", type);


            var args = largeMax.HasValue
                ? $"{smallMax}, {mediumMax}, {largeMax.Value}"
                : $"{smallMax}, {mediumMax}";

            fromTemplate.Replace("%%ARGS%%", args);
            fromTemplate.Replace("%%EXTRA_TYPE%%", extraType);

            var testCase = new StringBuilder();

            for (var i = 0; i < values.Length; i++)
            {
                if (i > 0)
                {
                    testCase.Append($",{Environment.NewLine}            ");
                }
                testCase.Append($"new TestCase {{ value = {values[i]}, expectedBits = {expectedBitCount[i]} }}");
            }
            fromTemplate.Replace($"%%TEST_CASES%%", testCase.ToString());

            var name = $"{type}_{smallMax}_{mediumMax}";

            fromTemplate.Replace("%%NAME%%", name);

            fromTemplate.WriteToFile($"./Assets/Tests/Generated/VarIntTests/VarIntBehaviour_{name}.cs");
        }
Ejemplo n.º 2
0
        public static void CreateAll()
        {
            var fromTemplate = new CreateFromTemplate("./Assets/Tests/Generators/.ZigZagTestTemplate.cs");

            Create(fromTemplate, "short", extraValue: "15");
            Create(fromTemplate, "short", extraValue: "-20", extraName: "_negative");
            Create(fromTemplate, "int", extraValue: "100");
            Create(fromTemplate, "int", extraValue: "-25", extraName: "_negative");
            Create(fromTemplate, "long", extraValue: "14");
            Create(fromTemplate, "long", extraValue: "-30", extraName: "_negative");

            Create(fromTemplate, "MyEnum", 4, "(MyEnum)1",
                   @"[System.Serializable]
    public enum MyEnum
    {
        Negative = -1,
        Zero = 0,
        Positive = 1,
    }");
            Create(fromTemplate, "MyEnum2", 4, "(MyEnum2)(-1)",
                   @"[System.Serializable]
    public enum MyEnum2
    {
        Negative = -1,
        Zero = 0,
        Positive = 1,
    }", extraName: "_negative");

            AssetDatabase.Refresh();
        }
Ejemplo n.º 3
0
        private static void Create(CreateFromTemplate fromTemplate, string type, int bitCount, string extraValue = "20", string extraType = "")
        {
            fromTemplate.Replace("%%BIT_COUNT%%", bitCount);
            fromTemplate.Replace("%%TYPE%%", type);
            fromTemplate.Replace("%%PAYLOAD_SIZE%%", Mathf.CeilToInt(bitCount / 8f));
            fromTemplate.Replace("%%EXTRA_TYPE%%", extraType);
            fromTemplate.Replace("%%EXTRA_VALUE%%", extraValue);

            fromTemplate.WriteToFile($"./Assets/Tests/Generated/BitCountTests/BitCountBehaviour_{type}_{bitCount}.cs");
        }
Ejemplo n.º 4
0
        private static void Create(CreateFromTemplate fromTemplate, string name, Vector2 max, string ArgAttribute2, Vector2 value, float within, int bitcount)
        {
            name = "_" + name;
            fromTemplate.Replace("%%NAME%%", name);
            fromTemplate.Replace("%%PACKER_ATTRIBUTE%%", $"{max.x}f, {max.y}f, {ArgAttribute2}");
            fromTemplate.Replace("%%VALUE%%", $"new Vector2({value.x}f, {value.y}f)");
            fromTemplate.Replace("%%WITHIN%%", $"{within}f");
            fromTemplate.Replace("%%BIT_COUNT%%", bitcount);

            fromTemplate.WriteToFile($"./Assets/Tests/Generated/Vector2PackTests/Vector2PackBehaviour{name}.cs");
        }
Ejemplo n.º 5
0
        private static void Create(CreateFromTemplate fromTemplate, float max, string ArgAttribute2, float value, float within, int bitcount)
        {
            string name = $"_{max}_{bitcount}";

            fromTemplate.Replace("%%NAME%%", name);
            fromTemplate.Replace("%%PACKER_ATTRIBUTE%%", $"{max}, {ArgAttribute2}");
            fromTemplate.Replace("%%VALUE%%", $"{value}f");
            fromTemplate.Replace("%%WITHIN%%", $"{within}f");
            fromTemplate.Replace("%%BIT_COUNT%%", bitcount);

            fromTemplate.WriteToFile($"./Assets/Tests/Generated/FloatPackTests/FloatPackBehaviour{name}.cs");
        }
        private static void Create(CreateFromTemplate fromTemplate, int bitCount, Quaternion value, float within)
        {
            string name = $"_{bitCount}_{(int)(value.eulerAngles.x)}";

            fromTemplate.Replace("%%NAME%%", name);
            fromTemplate.Replace("%%PACKER_ATTRIBUTE%%", $"{bitCount}");
            fromTemplate.Replace("%%VALUE%%", $"new Quaternion({value.x}f, {value.y}f, {value.z}f, {value.w}f)");
            fromTemplate.Replace("%%WITHIN%%", $"{within}f");
            fromTemplate.Replace("%%BIT_COUNT%%", bitCount * 3 + 2);

            fromTemplate.WriteToFile($"./Assets/Tests/Generated/QuaternionPackTests/QuaternionPackBehaviour{name}.cs");
        }
        public static void CreateAll()
        {
            var fromTemplate = new CreateFromTemplate("./Assets/Tests/Generators/.QuaternionPackTestTemplate.cs");

            Create(fromTemplate, 8, Quaternion.Euler(0, 90, 0), 0.00540f);
            Create(fromTemplate, 9, Quaternion.Euler(0, 90, 0), 0.00270f);
            Create(fromTemplate, 10, Quaternion.Euler(0, 90, 0), 0.00135f);

            Create(fromTemplate, 8, Quaternion.Euler(45, 90, 0), 0.00540f);
            Create(fromTemplate, 9, Quaternion.Euler(45, 90, 0), 0.00270f);
            Create(fromTemplate, 10, Quaternion.Euler(45, 90, 0), 0.00135f);

            AssetDatabase.Refresh();
        }
Ejemplo n.º 8
0
        public static void CreateAll()
        {
            var fromTemplate = new CreateFromTemplate("./Assets/Tests/Generators/.FloatPackTestTemplate.cs");

            Create(fromTemplate, 100f, "0.2f", 5.2f, 0.196f, 10);
            Create(fromTemplate, 100f, "0.02f", 5.2f, 0.0123f, 14);

            Create(fromTemplate, 500f, "0.1f", 5.2f, 0.0123f, 14);
            Create(fromTemplate, 500f, "0.01f", 5.2f, 0.00763f, 17);

            Create(fromTemplate, 1f, "8", 0.2f, 0.00785f, 8);
            Create(fromTemplate, 10f, "10", 3.3f, 0.0191f, 10);

            AssetDatabase.Refresh();
        }
Ejemplo n.º 9
0
        public static void CreateAll()
        {
            var fromTemplate = new CreateFromTemplate("./Assets/Tests/Generators/.VarIntBlocksTestTemplate.cs");

            Create(fromTemplate, "int", 7, new[] { "10", "100", "1000" }, new[] { 7 + 1, 7 + 1, 14 + 2 });
            Create(fromTemplate, "int", 6, new[] { "10", "100", "1000", "10000" }, new[] { 6 + 1, 12 + 2, 12 + 2, 18 + 3 });
            Create(fromTemplate, "uint", 6, new[] { "170U", "500U", "15000U", "50000U" }, new[] { 12 + 2, 12 + 2, 18 + 3, 18 + 3 });
            Create(fromTemplate, "uint", 7, new[] { "10U", "100U", "1000U", "10000U" }, new[] { 7 + 1, 7 + 1, 14 + 2, 14 + 2 });
            Create(fromTemplate, "uint", 8, new[] { "170U", "500U", "15000U", "50000U", "400000U" }, new[] { 8 + 1, 16 + 2, 16 + 2, 16 + 2, 24 + 3 });

            Create(fromTemplate, "short", 6, new[] { "(short)10", "(short)100", "(short)1000", "(short)10000" }, new[] { 6 + 1, 12 + 2, 12 + 2, 18 + 3 });
            Create(fromTemplate, "ushort", 7, new[] { "(ushort)10", "(ushort)100", "(ushort)1000", "(ushort)10000" }, new[] { 7 + 1, 7 + 1, 14 + 2, 14 + 2 });

            Create(fromTemplate, "long", 8, new[] { "10L", "100L", "1000L", "10000L" }, new[] { 8 + 1, 8 + 1, 16 + 2, 16 + 2 });
            Create(fromTemplate, "ulong", 9, new[] { "10UL", "100UL", "1000UL", "10000UL" }, new[] { 9 + 1, 9 + 1, 18 + 2, 18 + 2 });
            Create(fromTemplate, "MyEnum", 4, new[] { "(MyEnum)0", "(MyEnum)4", "(MyEnum)16", "(MyEnum)64" }, new[] { 4 + 1, 4 + 1, 8 + 2, 8 + 2 },
                   @"[System.Flags, System.Serializable]
    public enum MyEnum
    {
        None = 0,
        HasHealth = 1,
        HasArmor = 2,
        HasGun = 4,
        HasAmmo = 8,
        HasLeftHand = 16,
        HasRightHand = 32,
        HasHead = 64,
    }");

            Create(fromTemplate, "MyEnumByte", 4, new[] { "(MyEnumByte)0", "(MyEnumByte)4", "(MyEnumByte)16", "(MyEnumByte)64" }, new[] { 4 + 1, 4 + 1, 8 + 2, 8 + 2 },
                   @"[System.Flags, System.Serializable]
    public enum MyEnumByte : byte
    {
        None = 0,
        HasHealth = 1,
        HasArmor = 2,
        HasGun = 4,
        HasAmmo = 8,
        HasLeftHand = 16,
        HasRightHand = 32,
        HasHead = 64,
    }");

            AssetDatabase.Refresh();
        }
        private static void Create(CreateFromTemplate fromTemplate, string type, int min, int max, int expectedBitCount, string extraValue = "20", string extraType = "", string extraName = "")
        {
            fromTemplate.Replace("%%MIN%%", min);
            fromTemplate.Replace("%%MAX%%", max);
            fromTemplate.Replace("%%BIT_COUNT%%", expectedBitCount);
            fromTemplate.Replace("%%TYPE%%", type);
            fromTemplate.Replace("%%PAYLOAD_SIZE%%", Mathf.CeilToInt(expectedBitCount / 8f));
            fromTemplate.Replace("%%EXTRA_TYPE%%", extraType);
            fromTemplate.Replace("%%EXTRA_VALUE%%", extraValue);

            var minString = min.ToString().Replace('-', 'N');
            var maxString = max.ToString().Replace('-', 'N');
            var name      = $"{type}_{minString}_{maxString}{extraName}";

            fromTemplate.Replace("%%NAME%%", name);

            fromTemplate.WriteToFile($"./Assets/Tests/Generated/BitCountFromRangeTests/BitCountFromRange_{name}.cs");
        }
Ejemplo n.º 11
0
        public static void CreateAll()
        {
            var fromTemplate = new CreateFromTemplate("./Assets/Tests/Generators/.Vector2PackTestTemplate.cs");

            Create(fromTemplate, "100_18f2", new Vector2(100, 20), "0.2f, 0.2f", new Vector2(10.3f, 0.2f), 0.2f, 18);
            Create(fromTemplate, "100_18f", new Vector2(100, 20), "0.2f", new Vector2(10.3f, 0.2f), 0.2f, 18);
            Create(fromTemplate, "100_18b2", new Vector2(100, 20), "10, 8", new Vector2(-10.3f, 0.2f), 0.2f, 18);
            Create(fromTemplate, "100_20b", new Vector2(100, 100), "10", new Vector2(-10.3f, 0.2f), 0.2f, 20);

            Create(fromTemplate, "1000_27f2", new Vector2(1000, 200), "0.1f, 0.1f", new Vector2(-10.3f, 0.2f), 0.1f, 27);
            Create(fromTemplate, "1000_27f", new Vector2(1000, 200), "0.1f", new Vector2(-10.3f, 0.2f), 0.1f, 27);
            Create(fromTemplate, "1000_27b2", new Vector2(1000, 200), "15, 12", new Vector2(10.3f, 0.2f), 0.2f, 27);
            Create(fromTemplate, "1000_30b", new Vector2(1000, 200), "15", new Vector2(10.3f, 0.2f), 0.2f, 30);

            Create(fromTemplate, "200_26f2", new Vector2(200, 200), "0.05f, 0.05f", new Vector2(-10.3f, 0.2f), 0.1f, 26);
            Create(fromTemplate, "200_26f", new Vector2(200, 200), "0.05f", new Vector2(-10.3f, 0.2f), 0.1f, 26);
            Create(fromTemplate, "200_26b2", new Vector2(200, 200), "13, 13", new Vector2(10.3f, 0.2f), 0.2f, 26);
            Create(fromTemplate, "200_26b", new Vector2(200, 200), "13", new Vector2(10.3f, 0.2f), 0.2f, 26);

            AssetDatabase.Refresh();
        }
Ejemplo n.º 12
0
        public static void CreateAll()
        {
            var fromTemplate = new CreateFromTemplate("./Assets/Tests/Generators/.Vector3PackTestTemplate.cs");

            Create(fromTemplate, "100_28f3", new Vector3(100, 20, 100), "0.2f, 0.2f, 0.2f", new Vector3(10.3f, 0.2f, 20), 0.2f, 28);
            Create(fromTemplate, "100_28f", new Vector3(100, 20, 100), "0.2f", new Vector3(10.3f, 0.2f, 20), 0.2f, 28);
            Create(fromTemplate, "100_28b3", new Vector3(100, 20, 100), "10, 8, 10", new Vector3(-10.3f, 0.2f, 20), 0.2f, 28);
            Create(fromTemplate, "100_30b", new Vector3(100, 100, 100), "10", new Vector3(-10.3f, 0.2f, 20), 0.2f, 30);

            Create(fromTemplate, "1000_42f3", new Vector3(1000, 200, 1000), "0.1f, 0.1f, 0.1f", new Vector3(-10.3f, 0.2f, 20), 0.1f, 42);
            Create(fromTemplate, "1000_42f", new Vector3(1000, 200, 1000), "0.1f", new Vector3(-10.3f, 0.2f, 20), 0.1f, 42);
            Create(fromTemplate, "1000_42b3", new Vector3(1000, 200, 1000), "15, 12, 15", new Vector3(10.3f, 0.2f, 20), 0.2f, 42);
            Create(fromTemplate, "1000_45b", new Vector3(1000, 200, 1000), "15", new Vector3(10.3f, 0.2f, 20), 0.2f, 45);

            Create(fromTemplate, "200_39f3", new Vector3(200, 200, 200), "0.05f, 0.05f, 0.05f", new Vector3(-10.3f, 0.2f, -20), 0.1f, 39);
            Create(fromTemplate, "200_39f", new Vector3(200, 200, 200), "0.05f", new Vector3(-10.3f, 0.2f, -20), 0.1f, 39);
            Create(fromTemplate, "200_39b3", new Vector3(200, 200, 200), "13, 13, 13", new Vector3(10.3f, 0.2f, 20), 0.2f, 39);
            Create(fromTemplate, "200_39b", new Vector3(200, 200, 200), "13", new Vector3(10.3f, 0.2f, 20), 0.2f, 39);

            AssetDatabase.Refresh();
        }
        public static void CreateAll()
        {
            var fromTemplate = new CreateFromTemplate("./Assets/Tests/Generators/.BitCountFromRangeTestTemplate.cs");

            Create(fromTemplate, "int", -10, 10, 5, "-3");
            Create(fromTemplate, "int", -20_000, 20_000, 16);
            Create(fromTemplate, "int", -1_000, 0, 10, "-3");
            Create(fromTemplate, "int", -2000, -1000, 10, "-1400");
            Create(fromTemplate, "int", int.MinValue, int.MaxValue, 32);
            Create(fromTemplate, "int", int.MinValue, int.MaxValue, 32, int.MinValue.ToString(), extraName: "min");
            Create(fromTemplate, "int", int.MinValue, int.MaxValue, 32, int.MaxValue.ToString(), extraName: "max");
            Create(fromTemplate, "uint", 0, 5000, 13);
            Create(fromTemplate, "short", -10, 10, 5, "3");
            Create(fromTemplate, "short", -1000, 1000, 11);
            Create(fromTemplate, "short", short.MinValue, short.MaxValue, 16);
            Create(fromTemplate, "ushort", ushort.MinValue, ushort.MaxValue, 16);
            Create(fromTemplate, "MyDirection", -1, 1, 2, "(MyDirection)1",
                   @"[System.Serializable]
    public enum MyDirection
    {
        Left = -1,
        None = 0,
        Right = 1,
    }");

            Create(fromTemplate, "MyByteEnum", 0, 3, 2, "(MyByteEnum)3",
                   @"[System.Serializable]
    public enum MyByteEnum : byte
    {
        None = 0,
        Slow = 1,
        Fast = 2,
        ReallyFast = 3,
    }");

            AssetDatabase.Refresh();
        }
Ejemplo n.º 14
0
        private static void Create(CreateFromTemplate fromTemplate, string type, int bitCount, string[] values, int[] expectedBitCount, string extraType = "")
        {
            fromTemplate.Replace("%%TYPE%%", type);
            fromTemplate.Replace("%%BLOCK_SIZE%%", bitCount);
            fromTemplate.Replace("%%EXTRA_TYPE%%", extraType);

            var testCase = new StringBuilder();

            for (int i = 0; i < values.Length; i++)
            {
                if (i > 0)
                {
                    testCase.Append($",{Environment.NewLine}            ");
                }
                testCase.Append($"new TestCase {{ value = {values[i]}, expectedBits = {expectedBitCount[i]} }}");
            }
            fromTemplate.Replace($"%%TEST_CASES%%", testCase.ToString());

            string name = $"{type}_{bitCount}";

            fromTemplate.Replace("%%NAME%%", name);

            fromTemplate.WriteToFile($"./Assets/Tests/Generated/VarIntBlocksTests/VarIntBlocksBehaviour_{name}.cs");
        }
Ejemplo n.º 15
0
        public static void CreateAll()
        {
            var fromTemplate = new CreateFromTemplate("./Assets/Tests/Generators/.BitCountTestTemplate.cs");

            Create(fromTemplate, "int", 10);
            Create(fromTemplate, "int", 17);
            Create(fromTemplate, "int", 32);
            Create(fromTemplate, "short", 4, "3");
            Create(fromTemplate, "short", 12);
            Create(fromTemplate, "ulong", 5);
            Create(fromTemplate, "ulong", 24);
            Create(fromTemplate, "ulong", 64);
            Create(fromTemplate, "MyEnum", 4, "(MyEnum)3",
                   @"[System.Flags, System.Serializable]
    public enum MyEnum
    {
        None = 0,
        HasHealth = 1,
        HasArmor = 2,
        HasGun = 4,
        HasAmmo = 8,
    }");

            Create(fromTemplate, "MyByteEnum", 4, "(MyByteEnum)3",
                   @"[System.Flags, System.Serializable]
    public enum MyByteEnum : byte
    {
        None = 0,
        HasHealth = 1,
        HasArmor = 2,
        HasGun = 4,
        HasAmmo = 8,
    }");

            AssetDatabase.Refresh();
        }