public void CurrentStateIsReported() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; // Act model.New(); // Assert Assert.AreEqual(StateMachineExample.State1, model.CurrentState); } }
public void CtorShouldCreateTracker() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); // Act var wi = new WorkflowInstance(model); // Assert Assert.IsNotNull(wi.StateTracker); } }
public void CurrentStateIsNullWhenNew() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; // Act var state = model.CurrentState; // Assert Assert.IsNull(state); } }
public void HostIsNotNull() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); var wi = new WorkflowInstance(model); // Act wi.New(); // Assert Assert.IsNotNull(wi.Host); } }
public void CurrentStateMachineNameIsNullWhenNew() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; // Act var stateMachineName = model.CurrentStateMachineName; // Assert Assert.AreEqual(WorkflowModel.Unknown, stateMachineName); } }
public void UnloadShouldUnloadWorkflowApp() { using (var testdb = new SqlWorkflowInstanceStoreTest()) { // Arrange var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); // Create and run the workflow model.New(); // Act // Load the instances from the datbase var workflowInstance = model.CurrentInstance; workflowInstance.Unload(); var isLoaded = workflowInstance.IsLoaded; // Assert Assert.IsFalse(isLoaded); } }
public void ResumeShouldResume() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); var wi = new WorkflowInstance(model); wi.New(); // Act wi.Resume(StateTrigger.T1); // Assert Assert.AreEqual(StateMachineExample.State2, wi.StateTracker.CurrentState); } }
public void IsLoadedReturnsTrueOnNew() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); var wi = new WorkflowInstance(model); wi.New(); // Act var actual = wi.IsLoaded; // Assert Assert.IsTrue(actual); } }
public void IsLoadedFiresPropertyChanged() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); var wi = new WorkflowInstance(model); var propChanged = false; wi.PropertyChanged += (sender, args) => { if (!propChanged) { propChanged = args.PropertyName == "IsLoaded"; } }; // Act wi.New(); // Assert Assert.IsTrue(propChanged); } }
public void IdIsNotEmptyGuid() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); var wi = new WorkflowInstance(model); // Act var id = wi.Id; // Assert Assert.AreEqual(Guid.Empty, id); } }
public void IdIsLoadedTrackerId() { using (var testdb = new SqlWorkflowInstanceStoreTest()) { // Arrange var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); // Create and run the workflow var id = model.New(); // Act // Load the instances from the datbase model.LoadInstances(view); // Get the id from the state tracker var hostid = model.CurrentInstance.Id; // Assert Assert.AreEqual(hostid, id); } }
public void IsLoadedTrueWhenRun() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; model.New(); // Act var actual = model.IsLoaded; // Assert Assert.IsTrue(actual); } }
public void TransitionsReturnCollectionWhenRun() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; model.New(); // Act var actual = model.Transitions; // Assert Assert.AreEqual(2, actual.Count); AssertHelper.OccursInOrder(actual, StateTrigger.T1.ToString(), StateTrigger.T2.ToString()); } }
public void OnCompleteRemovesCurrent() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; var completedEvent = new AutoResetEvent(false); model.Workflows.CollectionChanged += (sender, args) => completedEvent.Set(); model.New(); // Act model.ResumeBookmark(StateTrigger.T1); var index1 = model.SelectedIndex; var count1 = model.Workflows.Count; // Complete the workflow model.ResumeBookmark(StateTrigger.T5); completedEvent.WaitOne(Globals.Timeout); var index2 = model.SelectedIndex; var count2 = model.Workflows.Count; // Assert Assert.AreEqual(1, count1); Assert.AreEqual(0, index1); Assert.AreEqual(0, count2); Assert.AreEqual(-1, index2); } }
public void ModelReturnsStateHistory() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; // Act model.New(); // Assert Assert.AreEqual(1, model.StateHistory.Count); } }
public void LoadShouldLoadWorkflowApp() { using (var testdb = new SqlWorkflowInstanceStoreTest()) { // Arrange var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; // Create and run the workflow model.New(); model.Unload(); // Act model.Load(); var isLoaded = model.IsLoaded; // Assert Assert.IsTrue(isLoaded); } }
public void LoadReturnsFalseWhenNoCurrentInstance() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; // Act var actual = model.Load(); // Assert Assert.IsFalse(actual); } }
public void IdIsHostId() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = new WorkflowModel(view); var wi = new WorkflowInstance(model); // Act wi.New(); var hostid = wi.Host.Id; var id = wi.Id; // Assert Assert.AreEqual(hostid, id); } }
public void IsLoadedFalseAfterCreate() { // Arrange using (var testdb = new SqlWorkflowInstanceStoreTest()) { var view = new TestWorkflowView(testdb.CreateInstanceStore()); var model = view.Model; // Act var actual = model.IsLoaded; // Assert Assert.IsFalse(actual); } }