Index: Core/Common/src/Core.Common.Base/Core.Common.Base.csproj =================================================================== diff -u -re62cceb52b0c086a17e685690a44ec02185bac86 -r2772b7959089c87ccd922ccec53d9f7e01cc02f8 --- Core/Common/src/Core.Common.Base/Core.Common.Base.csproj (.../Core.Common.Base.csproj) (revision e62cceb52b0c086a17e685690a44ec02185bac86) +++ Core/Common/src/Core.Common.Base/Core.Common.Base.csproj (.../Core.Common.Base.csproj) (revision 2772b7959089c87ccd922ccec53d9f7e01cc02f8) @@ -114,7 +114,6 @@ - Index: Core/Common/src/Core.Common.Base/Workflow/Activity.cs =================================================================== diff -u -re62cceb52b0c086a17e685690a44ec02185bac86 -r2772b7959089c87ccd922ccec53d9f7e01cc02f8 --- Core/Common/src/Core.Common.Base/Workflow/Activity.cs (.../Activity.cs) (revision e62cceb52b0c086a17e685690a44ec02185bac86) +++ Core/Common/src/Core.Common.Base/Workflow/Activity.cs (.../Activity.cs) (revision 2772b7959089c87ccd922ccec53d9f7e01cc02f8) @@ -8,8 +8,6 @@ { public abstract class Activity : IActivity { - public virtual event EventHandler StatusChanged; - public string Log { get; set; } public event EventHandler ProgressChanged; @@ -35,18 +33,10 @@ } protected set { - if (value == status) + if (value != status) { - return; + status = value; } - - var oldStatus = status; - status = value; - - if (StatusChanged != null) - { - StatusChanged(this, new ActivityStatusChangedEventArgs(oldStatus, status)); - } } } Fisheye: Tag 2772b7959089c87ccd922ccec53d9f7e01cc02f8 refers to a dead (removed) revision in file `Core/Common/src/Core.Common.Base/Workflow/ActivityStatusChangedEventArgs.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Core/Common/src/Core.Common.Base/Workflow/IActivity.cs =================================================================== diff -u -re62cceb52b0c086a17e685690a44ec02185bac86 -r2772b7959089c87ccd922ccec53d9f7e01cc02f8 --- Core/Common/src/Core.Common.Base/Workflow/IActivity.cs (.../IActivity.cs) (revision e62cceb52b0c086a17e685690a44ec02185bac86) +++ Core/Common/src/Core.Common.Base/Workflow/IActivity.cs (.../IActivity.cs) (revision 2772b7959089c87ccd922ccec53d9f7e01cc02f8) @@ -25,11 +25,6 @@ event EventHandler ProgressChanged; /// - /// Event to be fired on every change. - /// - event EventHandler StatusChanged; - - /// /// Returns current status of the activity (executing, cancelling, etc.) /// ActivityStatus Status { get; } Index: Core/Common/test/Core.Common.Base.Test/Shell/Core/WorkFlow/ActivityTest.cs =================================================================== diff -u -r41c77f9f36ae74a406fd382187426cc06d2b0200 -r2772b7959089c87ccd922ccec53d9f7e01cc02f8 --- Core/Common/test/Core.Common.Base.Test/Shell/Core/WorkFlow/ActivityTest.cs (.../ActivityTest.cs) (revision 41c77f9f36ae74a406fd382187426cc06d2b0200) +++ Core/Common/test/Core.Common.Base.Test/Shell/Core/WorkFlow/ActivityTest.cs (.../ActivityTest.cs) (revision 2772b7959089c87ccd922ccec53d9f7e01cc02f8) @@ -1,6 +1,5 @@ using System; using Core.Common.Base.Workflow; -using Core.Common.TestUtils; using NUnit.Framework; namespace Core.Common.Base.Test.Shell.Core.WorkFlow @@ -36,303 +35,6 @@ Assert.AreEqual(someName, activity.Name); } - [Test] - public void Status_SetNewValue_ChangeStatusAndBroadcastEvent() - { - // setup - int callCount = 0; - const ActivityStatus newStatus = ActivityStatus.Done; - - var activity = new SimpleActivity(); - ActivityStatus originalStatus = activity.Status; - activity.StatusChanged += (sender, args) => - { - callCount++; - Assert.AreEqual(originalStatus, args.OldStatus); - Assert.AreEqual(newStatus, args.NewStatus); - Assert.AreSame(activity, sender); - }; - - // call - activity.SetStatus(newStatus); - - // assert - Assert.AreEqual(newStatus, activity.Status); - Assert.AreEqual(1, callCount); - } - - [Test] - public void Status_SetSameValue_DoNothing() - { - // setup - int callCount = 0; - - var activity = new SimpleActivity(); - ActivityStatus originalStatus = activity.Status; - activity.StatusChanged += (sender, args) => { callCount++; }; - - // call - activity.SetStatus(originalStatus); - - // assert - Assert.AreEqual(originalStatus, activity.Status); - Assert.AreEqual(0, callCount); - } - - [Test] - public void Initialize_ActivityNotYetInitialized_UpdateStatusAndPerformInitialization() - { - // setup - int statusChangeCount = 0; - int onInitializeCallCount = 0; - - var activity = new SimpleActivity - { - OnInitializeInjection = () => onInitializeCallCount++ - }; - ActivityStatus originalStatus = activity.Status; - activity.StatusChanged += (sender, args) => - { - if (statusChangeCount == 0) - { - // 1st transition - Assert.AreEqual(originalStatus, args.OldStatus); - Assert.AreEqual(ActivityStatus.Initializing, args.NewStatus); - } - else if (statusChangeCount == 1) - { - // 2nd transition - Assert.AreEqual(ActivityStatus.Initializing, args.OldStatus); - Assert.AreEqual(ActivityStatus.Initialized, args.NewStatus); - } - else - { - Assert.Fail("Expect 2 status updates."); - } - Assert.AreSame(activity, sender); - - statusChangeCount++; - }; - - // call - activity.Initialize(); - - // assert - Assert.AreEqual(2, statusChangeCount); - Assert.AreEqual(1, onInitializeCallCount); - } - - [Test] - public void Initialize_ActivityNotYetInitializedAndInitalizationCausesException_CatchExceptionAndUpdateStatusToFailedAndLogException() - { - // setup - int statusChangeCount = 0; - const string someErrorMessage = "Some error message"; - - var activity = new SimpleActivity - { - OnInitializeInjection = () => { throw new Exception(someErrorMessage); } - }; - ActivityStatus originalStatus = activity.Status; - activity.StatusChanged += (sender, args) => - { - if (statusChangeCount == 0) - { - // 1st transition - Assert.AreEqual(originalStatus, args.OldStatus); - Assert.AreEqual(ActivityStatus.Initializing, args.NewStatus); - } - else if (statusChangeCount == 1) - { - // 2nd transition - Assert.AreEqual(ActivityStatus.Initializing, args.OldStatus); - Assert.AreEqual(ActivityStatus.Failed, args.NewStatus); - } - else - { - Assert.Fail("Expect 2 status updates."); - } - Assert.AreSame(activity, sender); - - statusChangeCount++; - }; - - // call - Action call = () => activity.Initialize(); - - // assert - TestHelper.AssertLogMessageIsGenerated(call, someErrorMessage, 1); - Assert.AreEqual(2, statusChangeCount); - } - - [Test] - public void Initialize_ActivityNotYetInitializedAndInitializationEncountersError_UpdateStatusAndEarlyExit() - { - // setup - int statusChangeCount = 0; - - var activity = new SimpleActivity(); - - activity.OnInitializeInjection = () => activity.SetStatus(ActivityStatus.Failed); - ActivityStatus originalStatus = activity.Status; - - activity.StatusChanged += (sender, args) => - { - if (statusChangeCount == 0) - { - // 1st transition - Assert.AreEqual(originalStatus, args.OldStatus); - Assert.AreEqual(ActivityStatus.Initializing, args.NewStatus); - } - else if (statusChangeCount == 1) - { - // 2nd transition - Assert.AreEqual(ActivityStatus.Initializing, args.OldStatus); - Assert.AreEqual(ActivityStatus.Failed, args.NewStatus); - } - else - { - Assert.Fail("Expect 2 status updates."); - } - Assert.AreSame(activity, sender); - - statusChangeCount++; - }; - - // call - activity.Initialize(); - - // assert - Assert.AreEqual(2, statusChangeCount); - } - - [Test] - public void Cancel_ActivityNotYetCancelled_UpdateStatusAndPerformCancel() - { - // setup - int statusChangeCount = 0; - int onCancelCallCount = 0; - - var activity = new SimpleActivity - { - OnCancelInjection = () => onCancelCallCount++ - }; - ActivityStatus originalStatus = activity.Status; - activity.StatusChanged += (sender, args) => - { - if (statusChangeCount == 0) - { - // 1st transition - Assert.AreEqual(originalStatus, args.OldStatus); - Assert.AreEqual(ActivityStatus.Cancelling, args.NewStatus); - } - else if (statusChangeCount == 1) - { - // 2nd transition - Assert.AreEqual(ActivityStatus.Cancelling, args.OldStatus); - Assert.AreEqual(ActivityStatus.Cancelled, args.NewStatus); - } - else - { - Assert.Fail("Expect 2 status updates."); - } - Assert.AreSame(activity, sender); - - statusChangeCount++; - }; - - // call - activity.Cancel(); - - // assert - Assert.AreEqual(2, statusChangeCount); - Assert.AreEqual(1, onCancelCallCount); - } - - [Test] - public void Cancel_ActivityNotYetCancelledAndCancellingCausesException_CatchExceptionAndUpdateStatusToFailedAndLogException() - { - // setup - int statusChangeCount = 0; - const string someErrorMessage = "Some error message"; - - var activity = new SimpleActivity - { - OnCancelInjection = () => { throw new Exception(someErrorMessage); } - }; - ActivityStatus originalStatus = activity.Status; - activity.StatusChanged += (sender, args) => - { - if (statusChangeCount == 0) - { - // 1st transition - Assert.AreEqual(originalStatus, args.OldStatus); - Assert.AreEqual(ActivityStatus.Cancelling, args.NewStatus); - } - else if (statusChangeCount == 1) - { - // 2nd transition - Assert.AreEqual(ActivityStatus.Cancelling, args.OldStatus); - Assert.AreEqual(ActivityStatus.Failed, args.NewStatus); - } - else - { - Assert.Fail("Expect 2 status updates."); - } - Assert.AreSame(activity, sender); - - statusChangeCount++; - }; - - // call - Action call = () => activity.Cancel(); - - // assert - TestHelper.AssertLogMessageIsGenerated(call, someErrorMessage, 1); - Assert.AreEqual(2, statusChangeCount); - } - - [Test] - public void Cancel_ActivityNotYetCancelledAndCancellingEncountersError_UpdateStatusAndEarlyExit() - { - // setup - int statusChangeCount = 0; - - var activity = new SimpleActivity(); - - activity.OnCancelInjection = () => activity.SetStatus(ActivityStatus.Failed); - ActivityStatus originalStatus = activity.Status; - - activity.StatusChanged += (sender, args) => - { - if (statusChangeCount == 0) - { - // 1st transition - Assert.AreEqual(originalStatus, args.OldStatus); - Assert.AreEqual(ActivityStatus.Cancelling, args.NewStatus); - } - else if (statusChangeCount == 1) - { - // 2nd transition - Assert.AreEqual(ActivityStatus.Cancelling, args.OldStatus); - Assert.AreEqual(ActivityStatus.Failed, args.NewStatus); - } - else - { - Assert.Fail("Expect 2 status updates."); - } - Assert.AreSame(activity, sender); - - statusChangeCount++; - }; - - // call - activity.Cancel(); - - // assert - Assert.AreEqual(2, statusChangeCount); - } - private class SimpleActivity : Activity { /// @@ -345,11 +47,6 @@ /// public Action OnCancelInjection { private get; set; } - public void SetStatus(ActivityStatus newStatus) - { - Status = newStatus; - } - protected override void OnInitialize() { OnInitializeInjection();