public void TestBuilder4() { OopBuilder builder = new OopBuilder(); var script = builder .Access(AccessFlags.Public) .Modifier(ModifierFlags.Static) .Class() .CustomUsing() .Using <OopTemplateTest>() .Using <int>() .InheritanceAppend <int>() .Namespace("TestNamespace") .Name("TestUt1<T>") .Constraint(item => item .SetType("T") .Constraint(ConstraintFlags.New) .Constraint <Int32>() .Constraint(typeof(string)) .Constraint(ConstraintFlags.Class)) .Body("public static void Test(){}") .Script; Assert.Equal($@"using NatashaUT;{Environment.NewLine}using System;{Environment.NewLine}namespace TestNamespace{{public static class TestUt1<T> : System.Int32 where T : class,new(),System.Int32,System.String{{{Environment.NewLine}public static void Test(){{}}}}}}", script); }
public void TestBuilder3() { OopBuilder builder = new OopBuilder(); var script = builder .Access(AccessFlags.Public) .Modifier(ModifierFlags.Static) .Class() .CustomUsing() .Using <OopTemplateTest>() .Using <int>() .InheritanceAppend <int>() .Namespace("TestNamespace") .Name("TestUt1<T>") .ConstraintAppendFrom(typeof(InOutInterfaceT <,>)) .Body("public static void Test(){}") .Script; Assert.Equal($@"using NatashaUT;{Environment.NewLine}using System;{Environment.NewLine}namespace TestNamespace{{public static class TestUt1<T> : System.Int32 where T : notnull, NatashaUT.Model.G2, NatashaUT.Model.G3, NatashaUT.Model.G4, new() where S : NatashaUT.Model.G2, NatashaUT.Model.G3, NatashaUT.Model.G4, new() {{{Environment.NewLine}public static void Test(){{}}}}}}", script); }
public void TestBuilder1() { OopBuilder builder = new OopBuilder(); var script = builder .Access(AccessFlags.Public) .Modifier(ModifierFlags.Static) .Class() .CustomUsing() .Using <OopTemplateTest>() .Using <int>() .Inheritance <int>() .Namespace("TestNamespace") .Name("TestUt1<T>") .Constraint("where T : class") .Body("public static void Test(){}") .Script; Assert.Equal($@"using NatashaUT;{Environment.NewLine}using System;{Environment.NewLine}namespace TestNamespace{{public static class TestUt1<T> : System.Int32 where T : class{{{Environment.NewLine}public static void Test(){{}}}}}}", script); }
public void TestBuilder2() { OopBuilder builder = new OopBuilder(); var script = builder .Access(AccessFlags.Public) .Modifier(ModifierFlags.Static) .Class() .CustomUsing() .Using <OopTemplateTest>() .Using <int>() .InheritanceAppend <int>() .Namespace("TestNamespace") .Name("TestUt1<T>") .ConstraintAppendFrom(typeof(List <>)) .Body("public static void Test(){}") .Script; #if NET5_0_OR_GREATER Assert.Equal($@"using NatashaUT;{Environment.NewLine}using System;{Environment.NewLine}namespace TestNamespace{{public static class TestUt1<T> : System.Int32 where T : notnull {{{Environment.NewLine}public static void Test(){{}}}}}}", script); #else Assert.Equal($@"using NatashaUT;{Environment.NewLine}using System;{Environment.NewLine}namespace TestNamespace{{public static class TestUt1<T> : System.Int32 {{{Environment.NewLine}public static void Test(){{}}}}}}", script); #endif }