private ColumnInformationViewModel CreateColumnViewModel(string name, bool isPrimaryKey = false)
        {
            var messenger = new Mock <IMessenger>();

            messenger.SetupAllProperties();
            var vm = new ColumnInformationViewModel(messenger.Object);

            vm.Name         = name;
            vm.IsPrimaryKey = isPrimaryKey;
            return(vm);
        }
Beispiel #2
0
        public void PropertyChanged_IsSelected_DifferentValue()
        {
            // Arrange
            var propertyChangedInvoked = false;
            var vm = new ColumnInformationViewModel
            {
                Name       = "column1",
                IsSelected = true
            };

            vm.PropertyChanged += (sender, args) => propertyChangedInvoked = true;

            // Act
            vm.IsSelected = false;

            // Assert
            Assert.IsTrue(propertyChangedInvoked);
        }
        private static ISchemaInformationViewModel[] GetDatabaseObjects()
        {
            TableInformationViewModel CreateTable(string tableSchema, string name, bool selected)
            {
                var messenger = new Mock <IMessenger>();

                messenger.SetupAllProperties();
                var result = new TableInformationViewModel(messenger.Object);

                result.Name   = name;
                result.Schema = tableSchema;
                if (selected)
                {
                    result.SetSelectedCommand.Execute(true);
                }
                return(result);
            }

            ColumnInformationViewModel CreateColumn(string name, bool isPrimaryKey, bool selected)
            {
                var messenger = new Mock <IMessenger>();

                messenger.SetupAllProperties();
                var result = new ColumnInformationViewModel(messenger.Object);

                result.Name         = name;
                result.IsPrimaryKey = isPrimaryKey;
                if (selected)
                {
                    result.SetSelectedCommand.Execute(true);
                }
                return(result);
            }

            var schema0 = new SchemaInformationViewModel {
                Name = "dbo"
            };

            schema0.Objects.Add(CreateTable("dbo", "Atlas", false));
            schema0.Objects[0].Columns.Add(CreateColumn("id", true, false));
            schema0.Objects[0].Columns.Add(CreateColumn("column1", false, false));
            schema0.Objects[0].Columns.Add(CreateColumn("column2", false, false));

            schema0.Objects.Add(CreateTable("dbo", "__RefactorLog", true));
            schema0.Objects[1].Columns.Add(CreateColumn("id", true, false));
            schema0.Objects[1].Columns.Add(CreateColumn("column1", false, false));
            schema0.Objects[1].Columns.Add(CreateColumn("column2", false, false));

            schema0.Objects.Add(CreateTable("dbo", "sysdiagrams", false));
            schema0.Objects[2].Columns.Add(CreateColumn("id", true, false));
            schema0.Objects[2].Columns.Add(CreateColumn("column1", false, false));
            schema0.Objects[2].Columns.Add(CreateColumn("column2", false, false));

            schema0.Objects.Add(CreateTable("dbo", "sysdiagrams", false));
            schema0.Objects[2].Columns.Add(CreateColumn("id", true, false));
            schema0.Objects[2].Columns.Add(CreateColumn("column1", false, false));
            schema0.Objects[2].Columns.Add(CreateColumn("column2", false, false));

            var schema1 = new SchemaInformationViewModel {
                Name = "unit"
            };

            schema1.Objects.Add(CreateTable("unit", "test", false));
            schema1.Objects[0].Columns.Add(CreateColumn("id", true, false));
            schema1.Objects[0].Columns.Add(CreateColumn("column1", false, false));
            schema1.Objects[0].Columns.Add(CreateColumn("column2", false, false));

            schema1.Objects.Add(CreateTable("unit", "foo", true));
            schema1.Objects[1].Columns.Add(CreateColumn("id", true, false));
            schema1.Objects[1].Columns.Add(CreateColumn("column1", false, false));
            schema1.Objects[1].Columns.Add(CreateColumn("column2", false, false));

            return(new[] { schema0, schema1 });
        }