Ejemplo n.º 1
0
        public void Triggering_The_MappingsChanged_Event_Rewrites_The_Mappings()
        {
            form.Raise(f => f.MappingsChanged += null, form, new EventArgs());

            ms.AssertWasCalled(m => m.DeleteEntity(entity));
            ms.AssertWasCalled(m => m.AddMapping(mapping));
        }
Ejemplo n.º 2
0
        public void Triggering_The_CreateTable_Event_Creates_A_Table_With_One_To_One_Mapping_To_The_Entity()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();

            Entity entity = new EntityImpl("Entity1");

            entity.AddProperty(new PropertyImpl("Property1")
            {
                Type = "System.Int32"
            });
            EntitySet entitySet = new EntitySetImpl();

            entitySet.AddEntity(entity);

            IDatabase database = new Database("DB1");

            new MappingSetImpl(database, entitySet);

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.CreateNewTableFromEntity += null, form, new EventArgs());

            Assert.That(database.Tables.Count, Is.EqualTo(1));
            ITable table = database.Tables[0];

            Assert.That(table.Name, Is.EqualTo("Entity1s"));
            Assert.That(table.Columns.Count, Is.EqualTo(1));
            Assert.That(table.Columns[0].Name, Is.EqualTo("Property1"));
        }
Ejemplo n.º 3
0
        public void Triggering_The_AddProperty_Event_Adds_A_New_Property_To_The_Entity()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();

            Entity entity = new EntityImpl("Entity1")
            {
                Key = new EntityKeyImpl()
            };

            entity.AddProperty(new PropertyImpl("Prop1"));

            form.Expect(f => f.SetProperties(Arg <IEnumerable <Property> > .List.ContainsAll(entity.ConcreteProperties)));

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.AddNewProperty += null, form, new EventArgs());

            Assert.That(entity.Properties.Count(), Is.EqualTo(2));

            form.AssertWasCalled(f => f.Mappings = entity.Mappings(), c => c.Repeat.Twice());
            form.AssertWasCalled(f => f.SetSelectedPropertyName(entity.Properties.ElementAt(1)));
            form.VerifyAllExpectations();
        }
Ejemplo n.º 4
0
        public void Triggering_The_ChildEntityRemoved_Event_Adds_The_New_Child()
        {
            IMainPanel  mainPanel   = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form        = MockRepository.GenerateMock <IEntityForm>();
            Entity      entity      = MockRepository.GenerateMock <Entity>();
            Entity      childEntity = MockRepository.GenerateMock <Entity>();

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.ChildEntityRemoved += null, form, new GenericEventArgs <Entity>(childEntity));

            entity.AssertWasCalled(e => e.RemoveChild(childEntity));
        }
Ejemplo n.º 5
0
        public void Triggering_The_PropertyNameChanged_Event_Changes_The_Property()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();
            Entity      entity    = MockRepository.GenerateMock <Entity>();
            Property    property  = MockRepository.GenerateMock <Property>();

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.PropertyNameChanged += null, form, new PropertyNameChangeEventArgs(property, "NewName"));

            property.AssertWasCalled(e => e.Name = "NewName");
        }
Ejemplo n.º 6
0
        public void Triggering_The_ParentEntityChanged_Event_Changes_The_Parent()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();
            Entity      entity    = MockRepository.GenerateMock <Entity>();

            form.Stub(f => f.ParentEntity).Return(new EntityImpl("Parent2"));

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.ParentEntityChanged += null, form, new EventArgs());

            entity.AssertWasCalled(e => e.Parent = form.ParentEntity);
        }
Ejemplo n.º 7
0
        public void Triggering_The_RemoveEntity_Event_Removes_It_From_The_Model_And_Clears_The_Screen()
        {
            IMainPanel  mainPanel = MockRepository.GenerateStub <IMainPanel>();
            IEntityForm form      = MockRepository.GenerateMock <IEntityForm>();

            Entity    entity    = new EntityImpl("Entity1");
            EntitySet entitySet = new EntitySetImpl();

            entitySet.AddEntity(entity);

            var presenter = new EntityPresenter(mainPanel, form);

            presenter.AttachToModel(entity);

            form.Raise(f => f.RemoveEntity += null, form, new EventArgs());

            Assert.That(entity.EntitySet, Is.Null);
            Assert.That(entitySet.Entities.Count(), Is.EqualTo(0));
            // Assert that the main panel was instructed to clear the property grid.
            mainPanel.AssertWasCalled(m => m.ShowPropertyGrid(null));
        }