public void SameModelConstructed()
        {
            IModel simpleModel = Build
                                 .Class("MSF006-RECORD")
                                 .With(
                Build.Property("KEY-006", "comment")
                .WithDataType("DSTRCT-CODE PIC X(4)", "comment")
                .WithDataType("ACCOUNT-CODE PIC X(24)", "comment")
                .With(
                    Build.Property("CONTROL-ID", "comment")
                    .With(
                        Build.DataType("CONTROL-TYPE PIC X(1)", "comment")
                        .WithValue("MIMS-CONTROL VALUE 'M'", "comment")
                        .WithValue("INTER-DSTRCT-CTL VALUE 'I'", "comment")
                        .WithValue("SUBLEDGER-CTL VALUE 'S'", "comment")
                        .WithValue("TABLE-DSTRCT-CTL VALUE 'T'", "comment")
                        )
                    )

                ).Model();

            IModel verboseModel = Build
                                  .Class("MSF006-RECORD")
                                  .With(
                Build.Property("KEY-006", "comment")
                .With(Build.DataType("DSTRCT-CODE PIC X(4)", "comment"))
                .With(Build.DataType("ACCOUNT-CODE PIC X(24)", "comment"))
                .With(
                    Build.Property("CONTROL-ID", "comment")
                    .With(
                        Build.DataType("CONTROL-TYPE PIC X(1)", "comment")
                        .WithValue("MIMS-CONTROL VALUE 'M'", "comment")
                        .WithValue("INTER-DSTRCT-CTL VALUE 'I'", "comment")
                        .WithValue("SUBLEDGER-CTL VALUE 'S'", "comment")
                        .WithValue("TABLE-DSTRCT-CTL VALUE 'T'", "comment")
                        )
                    )

                ).Model();

            string simple = new ModelFormatter(simpleModel)
            {
                IncludeModelPaths = true
            }.Render();
            string verbose = new ModelFormatter(verboseModel)
            {
                IncludeModelPaths = true
            }.Render();

            Assert.That(simple, Is.EqualTo(verbose));
        }
        public void BuildClassWithPropertyAndDataType()
        {
            IModel model = Build
                           .Class("MSF001")
                           .With(
                Build.Property("PROP001")
                .With(
                    Build.DataType("DATATYPE001")
                    )
                )
                           .Model();

            AssertCobolModel(model, "1", "Class", "MSF001");
            AssertCobolModel(model, "1.1", "Property", "PROP001");
            AssertCobolModel(model, "1.1.1", "DataType", "DATATYPE001");
        }