Example #1
0
 public BuilderSetupTests()
 {
     persistenceService = Substitute.For <IPersistenceService>();
     repository         = Substitute.For <IMyClassRepository>();
     builderSettings    = new BuilderSettings();
     builderSettings.SetPersistenceService(this.persistenceService);
 }
Example #2
0
 public void SetUp()
 {
     mocks = new MockRepository();
     persistenceService = mocks.DynamicMock <IPersistenceService>();
     repository         = mocks.DynamicMock <IMyClassRepository>();
     builderSettings    = new BuilderSettings();
     builderSettings.SetPersistenceService(this.persistenceService);
 }
Example #3
0
        public void RegisteringACustomPersistenceService()
        {
            var buildersetup = new BuilderSettings();

            buildersetup.SetPersistenceService(new MockCustomPersistenceService());

            new Builder(buildersetup).CreateNew <Product>().Persist();

            Assert.That(MockCustomPersistenceService.ProductPersisted, Is.True);
        }
Example #4
0
        public void RegisteringACustomPersistenceService()
        {
            var buildersetup = new BuilderSettings();

            buildersetup.SetPersistenceService(new MockCustomPersistenceService());

            new Builder(buildersetup).CreateNew <Product>().Persist();

            MockCustomPersistenceService.ProductPersisted.ShouldBeTrue();
        }
        public void ShouldBeAbleToUsePersistHierarchy()
        {
            var buildersetup       = new BuilderSettings();
            var hierarchySpec      = Substitute.For <IHierarchySpec <MyClass> >();
            var persistenceService = Substitute.For <IPersistenceService>();


            listBuilderImpl.BuilderSettings.Returns(buildersetup);
            listBuilderImpl.Build().Returns(new List <MyClass>());
            persistenceService.Create(Arg.Any <MyClass>());
            persistenceService.Update(Arg.Any <IList <MyClass> >());

            buildersetup.SetPersistenceService(persistenceService);
            ListBuilderExtensions.PersistHierarchy(listBuilderImpl, hierarchySpec);
        }
        public void ShouldBeAbleToPersistUsingListBuilder()
        {
            var builderSetup = new BuilderSettings();
            {
                listBuilderImpl.BuilderSettings.Returns(builderSetup);

                listBuilderImpl.Build().Returns(theList);
                persistenceService.Create(theList);
            }


            {
                builderSetup.SetPersistenceService(persistenceService);
                PersistenceExtensions.Persist(listBuilderImpl);
            }
        }
        public void ShouldBeAbleToPersistFromADeclaration()
        {
            var builderSetup = new BuilderSettings();
            {
                listBuilderImpl.BuilderSettings.Returns(builderSetup);

                listBuilderImpl.Build().Returns(theList);
                listBuilderImpl.BuilderSettings.Returns(builderSetup);
                persistenceService.Create(theList);
                ((IDeclaration <MyClass>)operable).ListBuilderImpl.Returns(listBuilderImpl);
            }

            {
                builderSetup.SetPersistenceService(persistenceService);
                PersistenceExtensions.Persist(operable);
            }
        }
        public void ShouldBeAbleToPersistUsingListBuilder()
        {
            var builderSetup = new BuilderSettings();

            using (mocks.Record())
            {
                listBuilderImpl.Stub(x => x.BuilderSettings).Return(builderSetup);

                listBuilderImpl.Expect(x => x.Build()).Return(theList);
                persistenceService.Expect(x => x.Create(theList));
            }

            using (mocks.Playback())
            {
                builderSetup.SetPersistenceService(persistenceService);
                PersistenceExtensions.Persist(listBuilderImpl);
            }
        }
        public void ShouldBeAbleToPersistUsingSingleObjectBuilder()
        {
            var builderSetup = new BuilderSettings();
            var obj          = new MyClass();

            {
                singleObjectBuilder.BuilderSettings.Returns(builderSetup);

                singleObjectBuilder.Build().Returns(obj);
                persistenceService.Create(obj);
            }

            {
                builderSetup.SetPersistenceService(persistenceService);

                PersistenceExtensions.Persist(singleObjectBuilder);
            }
        }
        public void ShouldBeAbleToPersistFromADeclaration()
        {
            var builderSetup = new BuilderSettings();
            using (mocks.Record())
            {
                listBuilderImpl.Stub(x => x.BuilderSettings).Return(builderSetup);

                listBuilderImpl.Expect(x => x.Build()).Return(theList);
                listBuilderImpl.Stub(x => x.BuilderSettings).Return(builderSetup);
                persistenceService.Expect(x => x.Create(theList));
                ((IDeclaration<MyClass>) operable).Expect(x => x.ListBuilderImpl).Return(listBuilderImpl);
            }

            using (mocks.Playback())
            {
                builderSetup.SetPersistenceService(persistenceService);
                PersistenceExtensions.Persist(operable);
            }
        }
        public void ShouldBeAbleToPersistFromADeclaration()
        {
            var builderSetup = new BuilderSettings();

            using (mocks.Record())
            {
                listBuilderImpl.Stub(x => x.BuilderSettings).Return(builderSetup);

                listBuilderImpl.Expect(x => x.Build()).Return(theList);
                listBuilderImpl.Stub(x => x.BuilderSettings).Return(builderSetup);
                persistenceService.Expect(x => x.Create(theList));
                ((IDeclaration <MyClass>)operable).Expect(x => x.ListBuilderImpl).Return(listBuilderImpl);
            }


            using (mocks.Playback())
            {
                builderSetup.SetPersistenceService(persistenceService);
                PersistenceExtensions.Persist(operable);
            }
        }
        public void ShouldBeAbleToPersistUsingSingleObjectBuilder()
        {
            var builderSetup = new BuilderSettings();
            var obj          = new MyClass();

            using (mocks.Record())
            {
                singleObjectBuilder.Stub(x => x.BuilderSettings).Return(builderSetup);

                singleObjectBuilder.Expect(x => x.Build()).Return(obj);
                persistenceService.Expect(x => x.Create(obj));
            }


            using (mocks.Playback())
            {
                builderSetup.SetPersistenceService(persistenceService);

                PersistenceExtensions.Persist(singleObjectBuilder);
            }
        }
        public void ShouldBeAbleToUsePersistHierarchy()
        {
            var buildersetup       = new BuilderSettings();
            var hierarchySpec      = mocks.Stub <IHierarchySpec <MyClass> >();
            var persistenceService = mocks.DynamicMock <IPersistenceService>();


            using (mocks.Record())
            {
                listBuilderImpl.Stub(x => x.BuilderSettings).Return(buildersetup);
                listBuilderImpl.Expect(x => x.Build()).Return(new List <MyClass>()).Repeat.Any();
                persistenceService.Expect(x => x.Create(Arg <MyClass> .Is.TypeOf)).Repeat.Any();
                persistenceService.Expect(x => x.Update(Arg <IList <MyClass> > .Is.TypeOf)).Repeat.Once();
            }

            using (mocks.Playback())
            {
                buildersetup.SetPersistenceService(persistenceService);
                ListBuilderExtensions.PersistHierarchy(listBuilderImpl, hierarchySpec);
            }
        }
        public void ShouldBeAbleToUsePersistHierarchy()
        {
            var buildersetup = new BuilderSettings();
            var hierarchySpec = mocks.Stub<IHierarchySpec<MyClass>>();
            var persistenceService = mocks.DynamicMock<IPersistenceService>();

            using (mocks.Record())
            {
                listBuilderImpl.Stub(x => x.BuilderSettings).Return(buildersetup);
                listBuilderImpl.Expect(x => x.Build()).Return(new List<MyClass>()).Repeat.Any();
                persistenceService.Expect(x => x.Create(Arg<MyClass>.Is.TypeOf)).Repeat.Any();
                persistenceService.Expect(x => x.Update(Arg<IList<MyClass>>.Is.TypeOf)).Repeat.Once();

            }

            using (mocks.Playback())
            {
                buildersetup.SetPersistenceService(persistenceService);
                ListBuilderExtensions.PersistHierarchy(listBuilderImpl, hierarchySpec);
            }
        }
        public void ShouldBeAbleToPersistUsingSingleObjectBuilder()
        {
            var builderSetup = new BuilderSettings();
            var obj = new MyClass();

            using (mocks.Record())
            {
                singleObjectBuilder.Stub(x => x.BuilderSettings).Return(builderSetup);

                singleObjectBuilder.Expect(x => x.Build()).Return(obj);
                persistenceService.Expect(x => x.Create(obj));
            }

            using (mocks.Playback())
            {
                builderSetup.SetPersistenceService(persistenceService);

                PersistenceExtensions.Persist(singleObjectBuilder);
            }
        }
Example #16
0
 public void Configuration_1(BuilderSettings builderSettings)
 {
     builderSettings.SetPersistenceService(new MyCustomPersistenceService());
 }
        public void ShouldBeAbleToPersistUsingListBuilder()
        {
            var builderSetup = new BuilderSettings();
            using (mocks.Record())
            {
                listBuilderImpl.Stub(x => x.BuilderSettings).Return(builderSetup);

                listBuilderImpl.Expect(x => x.Build()).Return(theList);
                persistenceService.Expect(x => x.Create(theList));
            }

            using (mocks.Playback())
            {
                builderSetup.SetPersistenceService(persistenceService);
                PersistenceExtensions.Persist(listBuilderImpl);
            }
        }