Esempio n. 1
0
        public void CreateSqlScript_Return_Oracle_Script_When_Vendor_Is_Postpres()
        {
            // Arrange
            this.configMock.Setup(c => c.DatabaseVendor).Returns(DatabaseEnum.Vendor.Oracle);
            this.configMock.Setup(c => c.OutTablename).Returns("person");
            GenerateFiles generateFiles = new GenerateFiles(this.config, this.spreadsheet, this.fileSystem, this.outputWriter);

            List <string> lines = new List <string>();

            this.fileSystemMock.Setup(o => o.WriteAllLines(It.IsAny <string>(), It.IsAny <List <string> >(), It.IsAny <Encoding>())).Callback((string path, List <string> contents, Encoding encoding) => lines = contents);

            Header header = new Header
            {
                Fields = new List <Field>
                {
                    new Field
                    {
                        Column = 0,
                        Extra  = false,
                        Length = 10,
                        Row    = 0,
                        Text   = "Name",
                        Type   = DatabaseEnum.TypeField.Text
                    },
                    new Field
                    {
                        Column = 1,
                        Extra  = false,
                        Length = 20,
                        Row    = 0,
                        Text   = "BirthDay",
                        Type   = DatabaseEnum.TypeField.Date
                    },
                    new Field
                    {
                        Column = 2,
                        Extra  = true,
                        Length = 9,
                        Row    = 0,
                        Text   = "Id",
                        Type   = DatabaseEnum.TypeField.Number
                    }
                }
            };

            // Act
            bool result = generateFiles.CreateSqlScript(header);

            // Assert
            result.Should().BeTrue();
            lines.Count.Should().BeGreaterThan(0);
            lines[0].Should().Be("CREATE TABLE person (");
            lines[1].Should().Be("name VARCHAR2(10),");
            lines[2].Should().Be("birthday DATE,");
            lines[3].Should().Be("id NUMBER(9));");
            lines[4].Should().Be(string.Empty);
            lines[5].Should().Be("CREATE UNIQUE INDEX person_pk_index ON person (id);");
        }
Esempio n. 2
0
        public void CreateSqlScript_Return_False_When_Header_Is_Null()
        {
            // Arrange
            GenerateFiles generateFiles = new GenerateFiles(this.config, this.spreadsheet, this.fileSystem, this.outputWriter);

            Header header = null;

            // Act
            bool result = generateFiles.CreateSqlScript(header);

            // Assert
            result.Should().BeFalse();
        }