public void ShouldReturnAllFoos()
        {
            //Arrange
            var context = new TestDataContext(Settings.Default.Connection, new FooMappingConfiguration(),
                                              new ConsoleOutLogger("Test", LogLevel.All, true, true, true, string.Empty));

            var item  = new Foo();
            var item2 = new Foo();

            context.Add(item);
            context.Add(item2);
            context.Commit();
            var expectedCount = context.AsQueryable <Foo>().Count();

            var target = Queries.FindAll <Foo>();

            //Act
            var results = target.Execute(context);

            //Assert
            Assert.AreEqual(results.Count(), expectedCount);
            context.Remove(item);
            context.Remove(item2);
            context.Commit();
        }
        public void ShouldReturnAllFoos()
        {
            //Arrange
            var context = new TestDataContext(Settings.Default.Connection, new FooMappingConfiguration(),
                                             new ConsoleOutLogger("Test", LogLevel.All, true, true, true, string.Empty));

            var item = new Foo();
            var item2 = new Foo();
            context.Add(item);
            context.Add(item2);
            context.Commit();
            var expectedCount = context.AsQueryable<Foo>().Count();

            var target = Queries.FindAll<Foo>();

            //Act
            var results = target.Execute(context);

            //Assert
            Assert.AreEqual(results.Count(), expectedCount);
            context.Remove(item);
            context.Remove(item2);
            context.Commit();
        }
        public void Should_Add_log_messages_for_add()
        {
            //Arrange
            Database.SetInitializer(new DropCreateInitializer<TestDataContext>());
            var logger = MockRepository.GenerateMock<ILog>();
            logger.Expect(x => x.TraceFormat(Arg<string>.Is.Anything, Arg<object[]>.Is.Anything)).IgnoreArguments().
                Repeat.Once();
            logger.Expect(x => x.DebugFormat(Arg<string>.Is.Anything, Arg<object[]>.Is.Anything)).IgnoreArguments().
                Repeat.Once();
            var context = new TestDataContext(Settings.Default.Connection, new FooMappingConfiguration(), logger);

            //Act
            context.Add(new Foo());

            //Assert
            logger.VerifyAllExpectations();
        }
        public void ShouldReturnFoo()
        {
            //Arrange
            var context = new TestDataContext(Settings.Default.Connection, new FooMappingConfiguration(),
                                              new ConsoleOutLogger("Test", LogLevel.All, true, true, true, string.Empty));

            var item = new Foo();
            context.Add(item);
            context.Commit();

            var target = Queries.GetById<Foo>(item.Id);

            //Act
            var result = target.Execute(context);

            //Assert
            Assert.AreEqual(item.Id, result.Id);
            context.Remove(result);
            context.Commit();
        }
        public void ShouldReturnFoo()
        {
            //Arrange
            var context = new TestDataContext(Settings.Default.Connection, new FooMappingConfiguration(),
                                              new ConsoleOutLogger("Test", LogLevel.All, true, true, true, string.Empty));

            var item = new Foo();

            context.Add(item);
            context.Commit();

            var target = Queries.GetById <Foo>(item.Id);

            //Act
            var result = target.Execute(context);

            //Assert
            Assert.AreEqual(item.Id, result.Id);
            context.Remove(result);
            context.Commit();
        }