public void ItBuildsWithAClass() { var builder = new AbstractSyntaxBuilder(); builder.WithClass(); var result = builder.Build(); Assert.AreEqual(1, result.Types.Length); }
public void Test3() { var builder = new AbstractSyntaxBuilder(); var classBuilder = builder.WithClass() .WithName("Foo"); var constructorBuilder = classBuilder.WithConstructor() .WithVisibility(AccessType.Public); var methodBuilder = classBuilder.WithMethod() .WithName("Bar"); methodBuilder.WithBody() .WithLine("for(var i = 0; i < 10; i++)") .WithLine("{{") .WithLine("}}"); var secondMethodBuilder = classBuilder.WithMethod() .WithName("FooBar") .WithVisibility(AccessType.Public) .WithTypeParameter("T") .WithTypeParameter("U"); secondMethodBuilder.WithParameter() .WithName("barFoo") .WithType("T"); secondMethodBuilder.WithParameter() .WithName("fooBar") .WithType("U"); secondMethodBuilder.WithTypeConstraint() .WithName("T") .WithBase(ConstraintBaseType.Struct); secondMethodBuilder.WithTypeConstraint() .WithName("U") .WithBase(ConstraintBaseType.Struct) .WithConstraint("IDisposable"); var ast = builder.Build(); var renderer = new CSharpRenderer(); var result = renderer.Render(ast); var location = System.Reflection.Assembly.GetExecutingAssembly().Location; System.IO.File.WriteAllText(location + ".result3.cs", result); }