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)); }
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")); }
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(); }
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)); }
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"); }
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); }
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)); }