public void CannotSetDefaultConversationTwice() { IConversation conv1 = MockRepository.GenerateStub<IConversation>(); IConversation conv2 = MockRepository.GenerateStub<IConversation>(); IConversationContext cc = new ConversationContext(); cc.SetDefaultConversation(conv1); Assert.Throws<InvalidOperationException>(() => cc.SetDefaultConversation(conv2)); }
public void CanSetDefaultConversationAfterAPreviousOneHasEnded() { IConversation conv1 = MockRepository.GenerateStub<IConversation>(); IConversation conv2 = MockRepository.GenerateStub<IConversation>(); IConversationContext cc = new ConversationContext(); cc.SetDefaultConversation(conv1); cc.UnsetDefaultConversation(); cc.SetDefaultConversation(conv2); }
public void DefaultConversationIsUsedWhenNoScopeIsActive() { IConversation conv = MockRepository.GenerateStub<IConversation>(); IConversationContext cc = new ConversationContext(); cc.SetDefaultConversation(conv); Assert.That(cc.CurrentConversation, Is.SameAs(conv)); }
public void TwiceEndDefaultConversationThrows() { IConversation conv = MockRepository.GenerateStub<IConversation>(); IConversationContext cc = new ConversationContext(); cc.SetDefaultConversation(conv); cc.UnsetDefaultConversation(); Assert.Throws<InvalidOperationException>(() => cc.UnsetDefaultConversation()); }
public void DefaultConversationMustNotBeNull() { IConversationContext cc = new ConversationContext(); Assert.Throws<ArgumentNullException>(() => cc.SetDefaultConversation(null)); }
public void WhenAScopeIsRegisteredItIsUsedForCurrentConversation() { var defConv = MockRepository.GenerateMock<IConversation>(); var conv = MockRepository.GenerateMock<IConversation>(); var scope = MockRepository.GenerateMock<IScope>(); scope.Stub(s => s.AssociatedConversation).Return(conv); scope.Stub(s => s.IsValid).Return(true); var cc = new ConversationContext(); cc.SetDefaultConversation(defConv); Assert.That(cc.CurrentConversation, Is.SameAs(defConv)); cc.RegisterScope(scope); Assert.That(cc.CurrentScope, Is.SameAs(scope)); Assert.That(cc.CurrentConversation, Is.SameAs(conv)); cc.ReleaseScope(scope); Assert.That(cc.CurrentConversation, Is.SameAs(defConv)); }