public RepositoryPatternGenerator(ISqlCeDatabase database, DataAccessLayerGeneratorOptions options, bool supportSqlCeTransactions = true, bool usesLinqToSql = false) : base(database) { this.options = options; this.supportSqlCeTransactions = supportSqlCeTransactions; this.usesLinqToSql = usesLinqToSql; }
public override void GenerateDataAccessLayer(DataAccessLayerGeneratorOptions options) { Trace.WriteLine("Generating Data Access Tests"); code.AppendLine("\nnamespace " + Database.Namespace); code.AppendLine("{"); code.AppendLine("\t[Microsoft.VisualStudio.TestTools.UnitTesting.TestClass]"); code.AppendLine("\tpublic class DataAccessTestBase"); code.AppendLine("\t{"); code.AppendLine("\t\t[Microsoft.VisualStudio.TestTools.UnitTesting.TestInitialize]"); code.AppendLine("\t\tpublic void Initialize()"); code.AppendLine("\t\t{"); code.AppendLine("\t\t\tEntityBase.ConnectionString = @\"" + Database.ConnectionString + "\";"); code.AppendLine("\t\t}"); code.AppendLine(); code.AppendLine("\t\t[Microsoft.VisualStudio.TestTools.UnitTesting.TestMethod]"); code.AppendLine("\t\tpublic void CreateCommandTest()"); code.AppendLine("\t\t{"); code.AppendLine("\t\t\tMicrosoft.VisualStudio.TestTools.UnitTesting.Assert.IsNotNull(EntityBase.CreateCommand());"); code.AppendLine("\t\t}"); code.AppendLine(); code.AppendLine("\t\t[Microsoft.VisualStudio.TestTools.UnitTesting.TestMethod]"); code.AppendLine("\t\tpublic void ConnectionCanOpenTest()"); code.AppendLine("\t\t{"); code.AppendLine("\t\t\tvar expected = System.Data.ConnectionState.Open;"); code.AppendLine("\t\t\tvar actual = EntityBase.Connection.State;"); code.AppendLine("\t\t\tMicrosoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected, actual);"); code.AppendLine("\t\t}"); code.AppendLine("\t}"); code.AppendLine(); foreach (var table in Database.Tables) { code.AppendLine("\t[Microsoft.VisualStudio.TestTools.UnitTesting.TestClass]"); code.AppendLine("\tpublic class " + table.TableName + "DataAccessTest : DataAccessTestBase"); code.AppendLine("\t{"); GenerateCreateTest(table); GenerateCreateWithParametersTest(table); GenerateSelectAllTest(table); GenerateSelectAllWithTopTest(table); GenerateSelectByTest(table); GenerateSelectByWithTopTest(table); GenerateDelete(table); GenerateDeleteBy(table); GenerateDeleteAll(table); GenerateSaveChanges(table); GeneratePopulate(table); code.AppendLine("\t}"); code.AppendLine(); } code.AppendLine("}"); code.AppendLine(); }