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);
        }
Exemple #3
0
        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
        }