public static void Do() { var commonTemplate = Pattern("CommonTemplate"); var com = new SourceGenerator(commonTemplate, "%bat%", "%usings%", "%namespace%", "%classheader%", "%content%"); var fullText = com.Generate("generate_additional_extensions_tests.bat", "using Xunit;\nusing AngouriMath;\nusing AngouriMath.Extensions;", "UnitTest.Extensions", "public class IntervalExtensionTest", GenerateTupleToInterval()); File.WriteAllText("../Tests/UnitTests/Convenience/TupleToIntervalTest.cs", fullText); }
public static void Do() { var commonTemplate = Pattern("CommonTemplate"); var com = new SourceGenerator(commonTemplate, "%bat%", "%usings%", "%namespace%", "%classheader%", "%content%"); var tupleToInterval = GenerateTupleToInterval(); var tupleToSystem = GenerateTupleEquationSystem(); var fullText = com.Generate("generate_additional_extensions.bat", "using static AngouriMath.Entity.Set;\nusing static AngouriMath.Entity;", "AngouriMath.Extensions", "public static partial class AngouriMathExtensions", tupleToSystem + tupleToInterval); File.WriteAllText("../AngouriMath/Convenience/AdditionalExtensions.cs", fullText); }
public static string GenerateTupleToInterval() { var types = new[] { "int", "double", "float", "string" }; var contentTemplate = Pattern("TupleToIntervalTemplate"); var gen = new SourceGenerator(contentTemplate, "%type1%", "%type2%"); var sb = new StringBuilder(); foreach (var type1 in types) { foreach (var type2 in types) { sb.Append(gen.Generate(type1, type2)); } } return(sb.ToString()); }
public static string GenerateTupleEquationSystem() { var contentTemplate = Pattern("EquationSystemFunctionPattern"); var gen = new SourceGenerator(contentTemplate, "%i%", "%tupleargs%", "%vars%", "%argspassed%", "%varspassed%"); var sb = new StringBuilder(); for (int i = 2; i <= LONGEST_TUPLE_LENGTH; i++) { var tupleargs = string.Join(", ", Enumerable.Range(1, i).Select(c => "string eq" + c)); var vars = string.Join(", ", Enumerable.Range(1, i).Select(c => "string var" + c)); var argspassed = string.Join(", ", Enumerable.Range(1, i).Select(c => "eqs.eq" + c)); var varspassed = string.Join(", ", Enumerable.Range(1, i).Select(c => "var" + c)); sb.Append(gen.Generate(i.ToString(), tupleargs, vars, argspassed, varspassed)); } return(sb.ToString()); }
public static string GenerateTupleToInterval() { var types = new[] { "3", "4.5", "\"6\"" }; var contentTemplate = Pattern("TupleToIntervalTest"); var gen = new SourceGenerator(contentTemplate, "%testid%", "%arg1%", "%arg2%"); var sb = new StringBuilder(); var id = 0; foreach (var type1 in types) { foreach (var type2 in types) { sb.Append(gen.Generate(id.ToString(), type1, type2)); id++; } } return(sb.ToString()); }