public void CreateTableSQL_WhenValuesAreInValid_ShouldThrowArgumentExceptionWithMessage()
        {
            // Arrange
            var tableCreationService = new TableCreationService();
            var collection           = new List <dynamic>()
            {
                "test"
            };
            var companyModel = new CompanyModel();

            // Act & Assert
            Assert.That(() => tableCreationService.CreateTableSQL(It.IsAny <string>(), collection, companyModel),
                        Throws.ArgumentException.With.Message.Contains("The table cannot be crated"));
        }
        public void Constructor_WhenValuesAreNotProvidedOrValid_ShouldThrowArgumentException()
        {
            // Arrange
            var sqlFileCreationServiceMock = new Mock <ISQLFileCreationService>();

            sqlFileCreationServiceMock.Setup(x => x.CreateSQLFile(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()));

            var tableCreationService = new TableCreationService();
            var collection           = new List <dynamic>()
            {
                "test"
            };
            var companyModel = new CompanyModel();

            // Act & Assert
            Assert.Throws <ArgumentException>(() => tableCreationService.CreateTableSQL(It.IsAny <string>(), collection, companyModel));
        }
        public void CreateTableSQL_WhenValuesAreValid_ShouldReturnCorrectCompanyNameSuccessfully()
        {
            // Arrange
            var tableCreationService = new TableCreationService();
            var collection           = new List <dynamic>()
            {
                "test"
            };
            var companyModel = new CompanyModel()
            {
                CompanyName = "Test Company", TableName = "Test Table"
            };

            // Act
            var tableSQL = tableCreationService.CreateTableSQL(It.IsAny <string>(), collection, companyModel);

            // Assert
            StringAssert.Contains(companyModel.CompanyName, tableSQL.ToString());
        }