using System; using System.Collections.Generic; using System.Data.SqlServerCe; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Dapper.Contrib.Tests_NET45 { class Program { static void Main(string[] args) { Setup(); RunTests(); Setup(); RunAsyncTests(); Console.WriteLine("Press any key..."); Console.ReadKey(); } private static void Setup() { var projLoc = Assembly.GetAssembly(typeof(Program)).Location; var projFolder = Path.GetDirectoryName(projLoc); if (File.Exists(projFolder + "\\Test.sdf")) File.Delete(projFolder + "\\Test.sdf"); var connectionString = "Data Source = " + projFolder + "\\Test.sdf;"; var engine = new SqlCeEngine(connectionString); engine.CreateDatabase(); using (var connection = new SqlCeConnection(connectionString)) { connection.Open(); connection.Execute(@" create table Users (Id int IDENTITY(1,1) not null, Name nvarchar(100) not null, Age int not null) "); connection.Execute(@" create table Automobiles (Id int IDENTITY(1,1) not null, Name nvarchar(100) not null) "); connection.Execute(@" create table Results (Id int IDENTITY(1,1) not null, Name nvarchar(100) not null, [Order] int not null) "); } Console.WriteLine("Created database"); } private static void RunTests() { var tester = new Tests(); foreach (var method in typeof(Tests).GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)) { if (method.ReturnType != typeof(Task)) { Console.Write("Running " + method.Name); method.Invoke(tester, null); Console.WriteLine(" - OK!"); } } } private static void RunAsyncTests() { var tester = new TestsAsync(); Console.Write("Running TableNameAsync"); Task.WaitAll(tester.TableNameAsync()); Console.WriteLine(" - OK!"); Console.Write("Running TestSimpleGetAsync"); Task.WaitAll(tester.TestSimpleGetAsync()); Console.WriteLine(" - OK!"); Console.Write("Running InsertGetUpdateAsync"); Task.WaitAll(tester.InsertGetUpdateAsync()); Console.WriteLine(" - OK!"); Console.Write("Running InsertCheckKeyAsync"); Task.WaitAll(tester.InsertCheckKeyAsync()); Console.WriteLine(" - OK!"); Console.Write("Running BuilderSelectClauseAsync"); Task.WaitAll(tester.BuilderSelectClauseAsync()); Console.WriteLine(" - OK!"); Console.Write("Running BuilderTemplateWOCompositionAsync"); Task.WaitAll(tester.BuilderTemplateWOCompositionAsync()); Console.WriteLine(" - OK!"); Console.Write("Running InsertFieldWithReservedNameAsync"); Task.WaitAll(tester.InsertFieldWithReservedNameAsync()); Console.WriteLine(" - OK!"); Console.Write("Running DeleteAllAsync"); Task.WaitAll(tester.DeleteAllAsync()); Console.WriteLine(" - OK!"); } } }