public void SimpleSmokeTest() { AR.StartDefaultConversation(); var software = new Software { Name = "FooBar" }; software.Save(); AR.Commit(); var loaded = AR.Linq<Software>().Where(s => s.Name == "FooBar").First(); // Will be from 1st level cache, hence same object Assert.That(loaded, Is.SameAs(software)); AR.EndDefaultConversation(); }
public void SmokeTestOnDifferentSessions() { AR.StartDefaultConversation(); var software = new Software { Name = "FooBar" }; software.Save(); Assert.That(software.Id, Is.Not.EqualTo(Guid.Empty)); AR.Commit(); AR.Restart(); var loaded = AR.Linq<Software>().Where(s => s.Name == "FooBar").First(); // Will not be from 1st level cache, hence different object Assert.That(loaded, Is.Not.SameAs(software)); Assert.That(loaded.Id, Is.EqualTo(software.Id)); AR.EndDefaultConversation(); }
public void FullTest() { // Arrange var guid = Guid.NewGuid(); var software = new Software { Id = Guid.Empty, Name = "FooBar" }; var mock = new MockInstaller(true); var dao = MockRepository.GenerateMock<IDao<Software>>(); dao.Expect(d => d.Save(software)).WhenCalled(i => { software.Id = guid; }); dao.Expect(d => d.Find(guid)).Return(software); mock.RegisterDaoDouble(dao); var conv = MockRepository.GenerateMock<IConversation>(); conv.Expect(c => c.Execute(Arg<Action>.Is.Anything)).WhenCalled(i => ((Action)i.Arguments[0]).Invoke()); conv.Expect(c => c.Commit()); mock.RegisterConversationDouble(conv); AR.Install(mock); // Act using (var conversation = AR.StartConversation()) { conv.Execute(() => software.Save()); conv.Commit(); Assert.That(AR.Find<Software>(guid), Is.SameAs(software)); } //Assert dao.VerifyAllExpectations(); conv.VerifyAllExpectations(); }
public void ExtSave() { var software = new Software { Name = "ActiveRecord" }; mocks.Dao.Expect(d => d.Save(software)); software.Save(); }