Beispiel #1
0
        public void TestQueryAllWithClassHandler()
        {
            // Setup
            var tables = CreateClassHandlerIdentityTables(10).AsList();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Act
                connection.InsertAll(tables);

                // Setup
                var handler = ClassHandlerCache.Get <ClassHandlerIdentityTableClassHandler>(typeof(ClassHandlerIdentityTable));
                handler.Reset();

                // Act
                var result = connection.QueryAll <ClassHandlerIdentityTable>();

                // Assert
                Assert.AreEqual(tables.Count, handler.GetMethodCallCount);
                Assert.AreEqual(tables.Count, result.Count());
                result.AsList().ForEach(item =>
                {
                    var target = tables.First(t => t.Id == item.Id);
                    Helper.AssertPropertiesEquality(target, item);
                });
            }
        }
Beispiel #2
0
        public void TestBatchQueryWithClassHandler()
        {
            // Setup
            var tables = CreateClassHandlerIdentityTables(10).AsList();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Act
                connection.InsertAll(tables);

                // Setup
                var handler = ClassHandlerCache.Get <ClassHandlerIdentityTableClassHandler>(typeof(ClassHandlerIdentityTable));
                handler.Reset();

                // Act
                var result = connection.BatchQuery <ClassHandlerIdentityTable>(page: 0,
                                                                               rowsPerBatch: 10,
                                                                               orderBy: OrderField.Parse(new { Id = Order.Ascending }),
                                                                               where : (object)null);

                // Assert
                Assert.AreEqual(tables.Count, handler.GetMethodCallCount);
                Assert.AreEqual(tables.Count, result.Count());
                result.AsList().ForEach(item =>
                {
                    var target = tables.First(t => t.Id == item.Id);
                    Helper.AssertPropertiesEquality(target, item);
                });
            }
        }
Beispiel #3
0
        public void ThrowExceptionOnInsertAllWithClassHandlerWithDifferentModel()
        {
            // Setup
            var tables = CreateClassHandlerIdentityTableWithTestModels(10).AsList();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Setup
                var handler = ClassHandlerCache.Get <ClassHandlerTestModelClassHandler>(typeof(ClassHandlerIdentityTableWithTestModel));

                // Act
                connection.InsertAll(tables);
            }
        }
Beispiel #4
0
        public void ThrowExceptionOnExecuteQueryWithClassHandlerWithDifferentModel()
        {
            // Setup
            var tables = Helper.CreateIdentityTables(10).AsList();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Act
                connection.InsertAll(tables);

                // Setup
                var handler = ClassHandlerCache.Get <ClassHandlerTestModelClassHandler>(typeof(ClassHandlerIdentityTableWithTestModel));

                // Act
                connection.ExecuteQuery <ClassHandlerIdentityTableWithTestModel>("SELECT * FROM [sc].[IdentityTable];");
            }
        }
Beispiel #5
0
        public void TestInsertAllWithClassHandler()
        {
            // Setup
            var tables = CreateClassHandlerIdentityTables(10).AsList();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Setup
                var handler = ClassHandlerCache.Get <ClassHandlerIdentityTableClassHandler>(typeof(ClassHandlerIdentityTable));
                handler.Reset();

                // Act
                connection.InsertAll(tables);

                // Assert
                Assert.AreEqual(tables.Count, handler.SetMethodCallCount);
            }
        }
Beispiel #6
0
        public void TestMergeWithClassHandler()
        {
            // Setup
            var table = CreateClassHandlerIdentityTables(1).First();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Setup
                var handler = ClassHandlerCache.Get <ClassHandlerIdentityTableClassHandler>(typeof(ClassHandlerIdentityTable));
                handler.Reset();

                // Act
                var id = connection.Merge(table);

                // Assert
                Assert.AreEqual(1, handler.SetMethodCallCount);
            }
        }
Beispiel #7
0
        public void ThrowExceptionOnBatchQueryWithClassHandlerWithDifferentModel()
        {
            // Setup
            var tables = Helper.CreateIdentityTables(10).AsList();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Act
                connection.InsertAll(tables);

                // Setup
                var handler = ClassHandlerCache.Get <ClassHandlerTestModelClassHandler>(typeof(ClassHandlerIdentityTableWithTestModel));

                // Act
                connection.BatchQuery <ClassHandlerIdentityTableWithTestModel>(page: 0,
                                                                               rowsPerBatch: 10,
                                                                               orderBy: OrderField.Parse(new { Id = Order.Ascending }),
                                                                               where : (object)null);
            }
        }
Beispiel #8
0
        public void TestQueryWithClassHandler()
        {
            // Setup
            var table = CreateClassHandlerIdentityTables(1).First();

            using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb))
            {
                // Act
                var id = connection.Insert(table);

                // Setup
                var handler = ClassHandlerCache.Get <ClassHandlerIdentityTableClassHandler>(typeof(ClassHandlerIdentityTable));
                handler.Reset();

                // Act
                var result = connection.Query <ClassHandlerIdentityTable>(id).First();

                // Assert
                Assert.AreEqual(1, handler.GetMethodCallCount);
                Helper.AssertPropertiesEquality(table, result);
            }
        }