Example #1
0
        public void TestGenerateClassWithMembers()
        {
            // arrange
            var idMember = new CSharpClassMember {
                Name = "Id", Type = "int"
            };
            var descriptionMembers = new CSharpClassMember {
                Name = "Description", Type = "string"
            };
            var csharpClass = new CSharpClass {
                Name = "Blog", Members = new List <CSharpClassMember> {
                    idMember, descriptionMembers
                }
            };
            var output = new StringWriter();
            var expectedOutputWriter = new StringWriter();

            expectedOutputWriter.Write("  public class Blog" + Environment.NewLine);
            expectedOutputWriter.Write("  {" + Environment.NewLine);
            idMember.Generate(expectedOutputWriter);
            expectedOutputWriter.WriteLine();
            descriptionMembers.Generate(expectedOutputWriter);
            expectedOutputWriter.Write("  }" + Environment.NewLine);

            // act
            csharpClass.Generate(output);

            // assert
            var generatedOutput = output.GetStringBuilder().ToString();

            Assert.Equal(expectedOutputWriter.GetStringBuilder().ToString(), generatedOutput);
        }
        public void TestGenerateDoNotIssueRequired()
        {
            // arrange
            var classMember = new CSharpClassMember {
                Name = "Id", Type = "int", RequiredAttributeBehavior = CSharpRequiredAttributeBehavior.NoRequiredAttribute
            };
            var output         = new StringWriter();
            var expectedOutput = "    public int Id { get; set; }" + Environment.NewLine;

            // act
            classMember.Generate(output);

            // assert
            Assert.Equal(expectedOutput, output.GetStringBuilder().ToString());
        }
        public void TestGenerateIssueRequiredForNullAndEmptyValues()
        {
            // arrange
            var classMember = new CSharpClassMember {
                Name = "Id", Type = "string", RequiredAttributeBehavior = CSharpRequiredAttributeBehavior.IssueRequired
            };
            var output         = new StringWriter();
            var expectedOutput =
                "    [Required]" + Environment.NewLine +
                "    public string Id { get; set; }" + Environment.NewLine;

            // act
            classMember.Generate(output);

            // assert
            Assert.Equal(expectedOutput, output.GetStringBuilder().ToString());
        }