public void DatabaseActionRegion_ChangeActionSomethingChanged_RestoreRegion_ExpectedRestore()
        {
            //------------Setup for test--------------------------
            var id  = Guid.NewGuid();
            var act = new DsfSqlServerDatabaseActivity()
            {
                SourceId = id
            };
            var src   = new Mock <IDbServiceModel>();
            var dbsrc = new DbSourceDefinition()
            {
                Id = id
            };
            var s2 = new DbSourceDefinition()
            {
                Id = Guid.NewGuid()
            };
            var action = new DbAction()
            {
                Name = "bravo"
            };

            src.Setup(a => a.RetrieveSources()).Returns(new ObservableCollection <IDbSource>()
            {
                dbsrc, s2
            });

            var sourceRegion = new DatabaseSourceRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfSqlServerDatabaseActivity()), enSourceType.SqlDatabase);

            //------------Execute Test---------------------------
            var dbActionRegion = new DbActionRegion(src.Object, ModelItemUtils.CreateModelItem(act), sourceRegion, new SynchronousAsyncWorker());

            var dbActionRegionToRestore = new DbActionMemento
            {
                IsEnabled      = false,
                SelectedAction = action,
                ToolRegionName = "New Tool Action Region",
                Dependants     = new List <IToolRegion> {
                    new DbActionMemento()
                },
                Errors = new List <string> {
                    "New Action Region Error"
                },
                Actions = new List <IDbAction> {
                    new DbAction()
                },
                IsActionEnabled = true,
                IsRefreshing    = false,
                LabelWidth      = 1.0
            };

            dbActionRegion.RestoreRegion(dbActionRegionToRestore);

            //------------Assert Results-------------------------
            Assert.AreEqual(dbActionRegion.SelectedAction, action);
            Assert.IsFalse(dbActionRegion.IsEnabled);
        }
        public void DatabaseActionRegion_ChangeActionSomethingChanged_RestoreRegion_ExpectedRestore()
        {
            //------------Setup for test--------------------------
            var id  = Guid.NewGuid();
            var act = new DsfSqlServerDatabaseActivity()
            {
                SourceId = id
            };
            var src   = new Mock <IDbServiceModel>();
            var dbsrc = new DbSourceDefinition()
            {
                Id = id
            };
            var s2 = new DbSourceDefinition()
            {
                Id = Guid.NewGuid()
            };
            var action = new DbAction()
            {
                Name = "bravo"
            };

            src.Setup(a => a.RetrieveSources()).Returns(new ObservableCollection <IDbSource>()
            {
                dbsrc, s2
            });

            DatabaseSourceRegion sourceRegion = new DatabaseSourceRegion(src.Object, ModelItemUtils.CreateModelItem(new DsfSqlServerDatabaseActivity()), enSourceType.SqlDatabase);

            //------------Execute Test---------------------------
            DbActionRegion dbActionRegion = new DbActionRegion(src.Object, ModelItemUtils.CreateModelItem(act), sourceRegion, new SynchronousAsyncWorker());
            // ReSharper disable once UseObjectOrCollectionInitializer
            DbActionMemento dbActionRegionToRestore = new DbActionMemento();

            dbActionRegionToRestore.IsEnabled      = false;
            dbActionRegionToRestore.SelectedAction = action;

            dbActionRegion.RestoreRegion(dbActionRegionToRestore);

            //------------Assert Results-------------------------
            Assert.AreEqual(dbActionRegion.SelectedAction, action);
            Assert.IsFalse(dbActionRegion.IsEnabled);
        }