public void ComActionRegion_ChangeActionSomethingChanged_RestoreRegion_ExpectedRestore() { //------------Setup for test-------------------------- var id = Guid.NewGuid(); var act = new DsfComDllActivity { SourceId = id }; var src = new Mock <IComPluginServiceModel>(); var dotNetsrc = new ComPluginSourceDefinition { Id = id }; var s2 = new ComPluginSourceDefinition { Id = Guid.NewGuid() }; var action = new PluginAction { FullName = "bravo" }; src.Setup(a => a.RetrieveSources()).Returns(new ObservableCollection <IComPluginSource>() { dotNetsrc, s2 }); ComSourceRegion sourceRegion = new ComSourceRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfComDllActivity())); var namespaceItem = new NamespaceItem { FullName = "johnny" }; ComNamespaceRegion comNamespaceRegion = new ComNamespaceRegion(src.Object, ModelItemUtils.CreateModelItem(act), sourceRegion); comNamespaceRegion.SelectedNamespace = namespaceItem; //------------Execute Test--------------------------- ComActionRegion dotNetActionRegion = new ComActionRegion(src.Object, ModelItemUtils.CreateModelItem(act), sourceRegion, comNamespaceRegion); // ReSharper disable once UseObjectOrCollectionInitializer ComActionRegion dotNetActionRegionToRestore = new ComActionRegion(src.Object, ModelItemUtils.CreateModelItem(act), sourceRegion, comNamespaceRegion); dotNetActionRegionToRestore.IsEnabled = false; dotNetActionRegionToRestore.SelectedAction = action; dotNetActionRegion.RestoreRegion(dotNetActionRegionToRestore); //------------Assert Results------------------------- Assert.AreEqual(dotNetActionRegion.SelectedAction, action); Assert.IsFalse(dotNetActionRegion.IsEnabled); }