Esempio n. 1
0
        public void should_execute_multi_mapping_one_to_many_relation_select_statement()
        {
            var inMemoryDatabase = new InMemoryDatabase();

            inMemoryDatabase.Insert <Product>(new List <Product>
            {
                new Product("987", "123")
            });

            inMemoryDatabase.Insert <ProductModel>(new List <ProductModel>
            {
                new ProductModel("987", "123")
            });

            var mockRepo   = new MockRepository(MockBehavior.Default);
            var loggerMock = mockRepo.Create <ILogger>();

            loggerMock.Setup(a => a.WriteLine(It.IsAny <string>()))
            .Callback <string>(msg => Assert.IsTrue(
                                   msg.Contains("SELECT * FROM ProductModel PM INNER JOIN Product P ON PM.ProductModelID = P.ProductModelID") ||
                                   msg.Contains("Retrieved 1 ProductModel entities") ||
                                   msg.Contains("The first Product Model with name  has 1 products")
                                   ));

            var multiMappingOneToManyRelationSelectStatement = new MultiMappingOneToManyRelationSelectStatement();

            multiMappingOneToManyRelationSelectStatement.Execute(inMemoryDatabase.OpenConnection(), loggerMock.Object);
        }