public void ColumnsUpdatedAfterCall()
        {
            ICollectionForm <IColumn> form = MockRepository.GenerateMock <ICollectionForm <IColumn> >();
            IColumnContainer          obj  = new Table("Table1");
            IMainPanel panel = MockRepository.GenerateMock <IMainPanel>();

            //var presenter = (ItemCollectionPresenter<IColumn>) new ColumnCollectionPresenter(panel, form);
            //presenter.AttachToModel(obj);

            form.AssertWasCalled(f => f.Items = obj.Columns);

            obj.AddColumn(new Column("asdsad"));

            form.AssertWasCalled(f => f.Items = obj.Columns, c => c.Repeat.Twice());
        }
        private void Test_Event_Registered(Action <ICollectionForm <IColumn> > action)
        {
            ICollectionForm <IColumn> form = MockRepository.GenerateMock <ICollectionForm <IColumn> >();
            IColumnContainer          obj  = new Table("Table1");
            IMainPanel panel = MockRepository.GenerateMock <IMainPanel>();

            //var presenter = (ItemCollectionPresenter<IColumn>) new ColumnCollectionPresenter(panel, form);
            //presenter.AttachToModel(obj);

            form.AssertWasCalled(action, c => c.IgnoreArguments());
        }
        public void New_Column_Added_Correctly()
        {
            ICollectionForm <IColumn> form = MockRepository.GenerateMock <ICollectionForm <IColumn> >();
            IColumnContainer          obj  = MockRepository.GenerateMock <IColumnContainer>();
            IMainPanel panel = MockRepository.GenerateMock <IMainPanel>();


            //var presenter = new ColumnCollectionPresenter(panel, form);
            //presenter.AttachToModel(obj);
            //presenter.Show();

            var raiser = form.GetEventRaiser(f => f.AddItem += null);

            raiser.Raise(form, new EventArgs());

            panel.AssertWasCalled(p => p.ShowObjectPropertyGrid(Arg <Column> .Matches(c => c != null && c.Name == "NewColumn")));
            //panel.AssertWasCalled(p => p.ShowPropertyGrid(form));
            form.AssertWasCalled(f => f.Clear());
            obj.AssertWasCalled(o => o.AddColumn(Arg <Column> .Matches(c => c != null && c.Name == "NewColumn")));
        }