Exemple #1
0
        public void Test_BusinessObjectAddedToCollection()
        {
            var cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            var controlFactory  = GetControlFactory();
            var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
            {
                IncludeBlankItem = false
            };

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            var addedBo = new MyBO();
            var myBoCol = new BusinessObjectCollection <MyBO>
            {
                new MyBO(), new MyBO(), new MyBO()
            };

            selectorManager.SetCollection(myBoCol);
            //---------------Execute Test ----------------------
            selectorManager.BusinessObjectCollection.Add(addedBo);
            //---------------Test Result -----------------------
            Assert.AreEqual(4, selectorManager.Control.Items.Count);
            //---------------Tear down -------------------------
        }
Exemple #2
0
        public void Test_BusinessObjectRemovedFromCollection()
        {
            IComboBox cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            IControlFactory            controlFactory  = GetControlFactory();
            ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
            {
                IncludeBlankItem = false
            };

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            MyBO removedBo = new MyBO();
            BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO>
            {
                new MyBO(), removedBo, new MyBO()
            };

            selectorManager.SetCollection(myBoCol);
            //---------------Execute Test ----------------------
            selectorManager.BusinessObjectCollection.Remove(removedBo);
            //---------------Test Result -----------------------
            Assert.AreEqual(2, selectorManager.Control.Items.Count);
        }
Exemple #3
0
        public void Test_SelectedBusinessObject_EdgeCase_SelectCustomStringItem_ShouldReturnNull()
        {
            //---------------Set up test pack-------------------
            IComboBox cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            IControlFactory controlFactory  = GetControlFactory();
            var             selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);

            DisposeOnTearDown(selectorManager);
            selectorManager.IncludeBlankItem = false;
            MyBO.LoadDefaultClassDef();
            MyBO selectedBO = new MyBO();
            BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO> {
                new MyBO(), selectedBO, new MyBO()
            };

            selectorManager.IncludeBlankItem = false;
            selectorManager.SetCollection(myBoCol);
            selectorManager.Control.SelectedIndex = 1;
            cmbox.Items.Add("SomeItem");
            //---------------Assert Preconditions---------------
            Assert.AreEqual(selectedBO, selectorManager.SelectedBusinessObject);
            //---------------Execute Test ----------------------
            cmbox.SelectedIndex = cmbox.Items.Count - 1;
            IBusinessObject selectedBusinessObject = selectorManager.SelectedBusinessObject;

            //---------------Test Result -----------------------
            Assert.IsNull(selectedBusinessObject);
        }
Exemple #4
0
        public void Test_SelectedBusinessObject()
        {
            //---------------Set up test pack-------------------
            var cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            var controlFactory  = GetControlFactory();
            var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
            {
                IncludeBlankItem = false
            };

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            var selectedBO = new MyBO();
            var myBoCol    = new BusinessObjectCollection <MyBO>
            {
                new MyBO(), selectedBO, new MyBO()
            };

            //---------------Execute Test ----------------------
            selectorManager.SetCollection(myBoCol);
            selectorManager.Control.SelectedIndex = 1;
            //---------------Test Result -----------------------
            Assert.AreEqual(selectedBO, selectorManager.SelectedBusinessObject);
            //---------------Tear down -------------------------
        }
 ///<summary>
 /// Constructor for <see cref="ComboBoxSelectorVWG"/>
 ///</summary>
 ///<param name="controlFactory"></param>
 public ComboBoxSelectorVWG(IControlFactory controlFactory)
 {
     if (controlFactory == null) throw new ArgumentNullException("controlFactory");
     _manager = new ComboBoxCollectionSelector(this, controlFactory);
      _manager.IncludeBlankItem = true;
     _manager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); };
 }
 private static void SetupSelectorWithTestPackCollection(ComboBoxCollectionSelector selectorManager, bool includeBlankItems)
 {
     MyBO.LoadDefaultClassDef();
     selectorManager.IncludeBlankItem = includeBlankItems;
     BusinessObjectCollection<MyBO> myBOs = new BusinessObjectCollection<MyBO> { { new MyBO(), new MyBO() } };
     selectorManager.SetCollection(myBOs);
 }
 public WinFormsBOComboBoxSelectorAdapter(ComboBox control) : base(control)
 {
     _manager = new ComboBoxCollectionSelector(this, GlobalUIRegistry.ControlFactory)
     {
         IncludeBlankItem = true
     };
     _manager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); };
 }
 /// <summary>
 /// Constructor to initialise the mapper
 /// </summary>
 /// <param name="cbx">The ComboBox to map</param>
 /// <param name="propName">The property name</param>
 /// <param name="isReadOnly">Whether this control is read only</param>
 /// <param name="factory">The control factory to be used when creating the controlMapperStrategy</param>
 public CollectionComboBoxMapper(IComboBox cbx, string propName, bool isReadOnly, IControlFactory factory)
     : base(cbx, propName, isReadOnly, factory)
 {
     _comboBox = cbx;
     _mapperStrategy = factory.CreateLookupComboBoxDefaultMapperStrategy();
     _mapperStrategy.AddHandlers(this);
     _comboBoxCollectionSelector = new ComboBoxCollectionSelector(cbx, factory, false);
     _comboBoxCollectionSelector.PreserveSelectedItem = true;
 }
Exemple #9
0
        private static void SetupSelectorWithTestPackCollection(ComboBoxCollectionSelector selectorManager, bool includeBlankItems)
        {
            MyBO.LoadDefaultClassDef();
            selectorManager.IncludeBlankItem = includeBlankItems;
            BusinessObjectCollection <MyBO> myBOs = new BusinessObjectCollection <MyBO> {
                { new MyBO(), new MyBO() }
            };

            selectorManager.SetCollection(myBOs);
        }
Exemple #10
0
 ///<summary>
 /// Constructor for <see cref="ComboBoxSelectorVWG"/>
 ///</summary>
 ///<param name="controlFactory"></param>
 public ComboBoxSelectorVWG(IControlFactory controlFactory)
 {
     if (controlFactory == null)
     {
         throw new ArgumentNullException("controlFactory");
     }
     _manager = new ComboBoxCollectionSelector(this, controlFactory);
     _manager.IncludeBlankItem        = true;
     _manager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); };
 }
Exemple #11
0
        public void Test_NoOfItems_WhenHasBlankItem_ShouldReturnColCountPlusOne()
        {
            //---------------Set up test pack-------------------
            ComboBoxCollectionSelector selectorManager = CreateComboBoxCollectionSelector();

            DisposeOnTearDown(selectorManager);
            SetupSelectorWithTestPackCollection(selectorManager, true);
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            int noOfItems = selectorManager.NoOfItems;

            //---------------Test Result -----------------------
            Assert.AreEqual(selectorManager.BusinessObjectCollection.Count + 1, noOfItems);
        }
Exemple #12
0
        public void Test_BusinessObjectCollection_Get_ShouldReturnSameAsCollection()
        {
            //---------------Set up test pack-------------------
            ComboBoxCollectionSelector selectorManager = CreateComboBoxCollectionSelector();

            DisposeOnTearDown(selectorManager);
            SetupSelectorWithTestPackCollection(selectorManager, true);
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            IBusinessObjectCollection businessObjectCollection = selectorManager.BusinessObjectCollection;

            //---------------Test Result -----------------------
            Assert.AreSame(selectorManager.BusinessObjectCollection, businessObjectCollection);
        }
Exemple #13
0
        public void Test_ShouldSupportIBOColSelector()
        {
            //---------------Set up test pack-------------------
            IComboBox cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            IControlFactory controlFactory = GetControlFactory();
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory, false);

            DisposeOnTearDown(selectorManager);
            //---------------Test Result -----------------------
            Assert.IsInstanceOf <IBOColSelector>(selectorManager);
        }
        public void Test_SetCollectionNull()
        {
            //---------------Set up test pack-------------------
            MyBO.LoadClassDefWithBoolean();

            IComboBox cmb = GetControlFactory().CreateComboBox();
            DisposeOnTearDown(cmb);
            ComboBoxCollectionSelector selector = new ComboBoxCollectionSelector(cmb, GetControlFactory());
            DisposeOnTearDown(selector);
            //---------------Verify test pack-------------------
            //---------------Execute Test ----------------------
            selector.SetCollection(null);
            //---------------Verify Result -----------------------
            Assert.IsNull(selector.BusinessObjectCollection);
            Assert.AreSame(cmb,selector.Control);
        }
Exemple #15
0
        public void Test_BusinessObjectCollection_Set_ShouldSetCollection()
        {
            //---------------Set up test pack-------------------
            ComboBoxCollectionSelector selectorManager = CreateComboBoxCollectionSelector();

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            BusinessObjectCollection <MyBO> myBOs = new BusinessObjectCollection <MyBO> {
                { new MyBO(), new MyBO() }
            };

            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            selectorManager.BusinessObjectCollection = myBOs;
            //---------------Test Result -----------------------
            Assert.AreSame(myBOs, selectorManager.BusinessObjectCollection);
        }
 public void Test_CreateTestComboBoxCollectionController()
 {
     //---------------Set up test pack-------------------
     MyBO.LoadClassDefWithBoolean();
     BusinessObjectCollection<MyBO> myBOs = new BusinessObjectCollection<MyBO> {{new MyBO(), new MyBO()}};
     IComboBox cmb = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmb);
     ComboBoxCollectionSelector selector = new ComboBoxCollectionSelector(cmb, GetControlFactory());
     DisposeOnTearDown(selector);
     //---------------Verify test pack-------------------
     //---------------Execute Test ----------------------
     selector.SetCollection(myBOs);
     //---------------Verify Result -----------------------
     Assert.AreEqual(myBOs, selector.BusinessObjectCollection);
     Assert.AreSame(cmb,selector.Control);
     //---------------Tear Down -------------------------   
 }
Exemple #17
0
        public void Test_Constructor()
        {
            //---------------Set up test pack-------------------
            IComboBox cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            IControlFactory controlFactory = GetControlFactory();
            //---------------Execute Test ----------------------
            ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);

            DisposeOnTearDown(selectorManager);
            //---------------Test Result -----------------------
            Assert.IsNotNull(selectorManager);
            Assert.AreSame(cmbox, selectorManager.Control);
            Assert.AreSame(controlFactory, selectorManager.ControlFactory);

            //---------------Tear Down -------------------------
        }
Exemple #18
0
        public void Test_SetCollectionNull()
        {
            //---------------Set up test pack-------------------
            MyBO.LoadClassDefWithBoolean();

            IComboBox cmb = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmb);
            ComboBoxCollectionSelector selector = new ComboBoxCollectionSelector(cmb, GetControlFactory());

            DisposeOnTearDown(selector);
            //---------------Verify test pack-------------------
            //---------------Execute Test ----------------------
            selector.SetCollection(null);
            //---------------Verify Result -----------------------
            Assert.IsNull(selector.BusinessObjectCollection);
            Assert.AreSame(cmb, selector.Control);
        }
Exemple #19
0
        public void Test_CancelEditsItemFromCollection_UpdatesItemInCombo()
        {
            //---------------Set up test pack-------------------
            BORegistry.DataAccessor = new DataAccessorInMemory();
            IComboBox cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            IControlFactory            controlFactory  = GetControlFactory();
            ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
            {
                IncludeBlankItem = false
            };

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            BusinessObjectCollection <MyBO> myBOs = new BusinessObjectCollection <MyBO> {
                { new MyBO(), new MyBO() }
            };

            selectorManager.SetCollection(myBOs);
            MyBO myBO     = myBOs[0];
            Guid newValue = Guid.NewGuid();
            int  index    = cmbox.Items.IndexOf(myBO);

            cmbox.SelectedIndex = index;
            myBO.MyBoID         = newValue;
            myBO.Save();
            //---------------Assert precondition----------------
            Assert.AreEqual(2, cmbox.Items.Count);
            Assert.AreEqual(0, cmbox.SelectedIndex);
            Assert.AreSame(myBO, cmbox.Items[index]);
            Assert.AreEqual(index, cmbox.SelectedIndex);
            //---------------Execute Test ----------------------
            myBO.MyBoID = Guid.NewGuid();
            myBO.CancelEdits();
            //---------------Test Result -----------------------
            Assert.AreEqual(0, cmbox.SelectedIndex);
            Assert.AreEqual(index, cmbox.SelectedIndex);
            Assert.AreSame(myBO, cmbox.Items[index]);
            string newToString = myBO.ToString();

            Assert.AreEqual(newToString, cmbox.Items[index].ToString());
        }
Exemple #20
0
        public void Test_EditUnselectedItemFromCollection_WhenAnotherItemIsSelected_UpdatesItemInCombo_MaintainsSelectedItem_FixBugBug1469()
        {
            //---------------Set up test pack-------------------
            var cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            var controlFactory  = GetControlFactory();
            var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory, false);

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();

            var myBOs = new BusinessObjectCollection <MyBO> {
                { new MyBO(), new MyBO(), new MyBO() }
            };

            selectorManager.SetCollection(myBOs);
            var myBO     = myBOs[1];
            var selectBo = myBOs[2];

            selectorManager.SelectedBusinessObject = selectBo;
            var origToString = myBO.ToString();
            var newValue     = Guid.NewGuid();
            var index        = cmbox.Items.IndexOf(myBO);

            //---------------Assert precondition----------------
            Assert.AreSame(selectBo, selectorManager.SelectedBusinessObject);
            Assert.AreSame(selectBo, cmbox.SelectedItem);

            Assert.AreSame(myBO, cmbox.Items[index]);
            Assert.AreNotEqual(index, cmbox.SelectedIndex);
            //---------------Execute Test ----------------------
            myBO.MyBoID = newValue;
            //---------------Test Result -----------------------
            var newToString = myBO.ToString();

            Assert.AreNotEqual(origToString, newToString);
            Assert.AreSame(selectBo, selectorManager.SelectedBusinessObject);
            Assert.AreSame(selectBo, cmbox.SelectedItem);
            //            Assert.AreNotEqual(origToString, cmbox.Text);
            //            Assert.AreEqual(newToString, cmbox.Text);
        }
Exemple #21
0
        public void Test_EditSecondItemFromCollection_UpdatesItemInCombo()
        {
            //---------------Set up test pack-------------------
            var cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            var controlFactory  = GetControlFactory();
            var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
            {
                IncludeBlankItem = false
            };

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            var myBOs = new BusinessObjectCollection <MyBO> {
                { new MyBO(), new MyBO() }
            };

            selectorManager.SetCollection(myBOs);
            var    myBO         = myBOs[1];
            string origToString = myBO.ToString();
            var    newValue     = Guid.NewGuid();
            var    index        = cmbox.Items.IndexOf(myBO);

            cmbox.SelectedIndex = index;
            //---------------Assert precondition----------------
            Assert.AreEqual(2, cmbox.Items.Count);
            Assert.AreEqual(1, cmbox.SelectedIndex);
            Assert.AreSame(myBO, cmbox.Items[index]);
            Assert.AreEqual(origToString, cmbox.Items[index].ToString());
            Assert.AreEqual(origToString, cmbox.Text);
            //---------------Execute Test ----------------------
            myBO.MyBoID = newValue;
            //---------------Test Result -----------------------
            string newToString = myBO.ToString();

            Assert.AreNotEqual(origToString, newToString);
            Assert.AreEqual(index, cmbox.SelectedIndex);
            //Assert.AreNotEqual(origToString, cmbox.Text);
            //Assert.AreEqual(newToString, cmbox.Text);
        }
Exemple #22
0
        public void Test_CreateTestComboBoxCollectionController()
        {
            //---------------Set up test pack-------------------
            MyBO.LoadClassDefWithBoolean();
            BusinessObjectCollection <MyBO> myBOs = new BusinessObjectCollection <MyBO> {
                { new MyBO(), new MyBO() }
            };
            IComboBox cmb = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmb);
            ComboBoxCollectionSelector selector = new ComboBoxCollectionSelector(cmb, GetControlFactory());

            DisposeOnTearDown(selector);
            //---------------Verify test pack-------------------
            //---------------Execute Test ----------------------
            selector.SetCollection(myBOs);
            //---------------Verify Result -----------------------
            Assert.AreEqual(myBOs, selector.BusinessObjectCollection);
            Assert.AreSame(cmb, selector.Control);
            //---------------Tear Down -------------------------
        }
Exemple #23
0
        public void Test_SetComboBoxCollection_AddNullItemTrue()
        {
            //---------------Set up test pack-------------------
            var cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            var controlFactory  = GetControlFactory();
            var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            var myBoCol = new BusinessObjectCollection <MyBO>
            {
                new MyBO(), new MyBO(), new MyBO()
            };

            //---------------Execute Test ----------------------
            selectorManager.SetCollection(myBoCol);
            //---------------Test Result -----------------------
            Assert.AreEqual(3, selectorManager.BusinessObjectCollection.Count);
            Assert.AreEqual(4, selectorManager.Control.Items.Count);
        }
Exemple #24
0
        public void Test_SetComboBoxCollection_IncludeBlankFalse_SetsFirstItem()
        {
            //---------------Set up test pack-------------------
            var cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            var controlFactory  = GetControlFactory();
            var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            var firstBo = new MyBO();
            var myBoCol = new BusinessObjectCollection <MyBO>
            {
                firstBo, new MyBO(), new MyBO()
            };

            //---------------Execute Test ----------------------
            selectorManager.SetCollection(myBoCol);
            //---------------Test Result -----------------------
            Assert.AreSame(firstBo, selectorManager.SelectedBusinessObject);
        }
Exemple #25
0
        public void Test_SetComboBoxCollection_PreserveSelectedItemTrue_AndSelectedItemNull_ShouldLeaveSelectedItemNull()
        {
            //---------------Set up test pack-------------------
            var cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            var controlFactory  = GetControlFactory();
            var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);

            DisposeOnTearDown(selectorManager);
            selectorManager.PreserveSelectedItem = true;
            selectorManager.IncludeBlankItem     = true;
            MyBO.LoadDefaultClassDef();
            //---------------Assert Precondition----------------
            Assert.AreEqual(-1, cmbox.SelectedIndex);
            Assert.IsNull(cmbox.SelectedItem);
            //---------------Execute Test ----------------------
            selectorManager.SetCollection(new BusinessObjectCollection <MyBO>());
            //---------------Test Result -----------------------
            Assert.AreEqual(-1, cmbox.SelectedIndex);
            Assert.IsNull(cmbox.SelectedItem);
        }
Exemple #26
0
        public void Test_EditUnselectedItemFromCollection_UpdatesItemInCombo_DoesNotSelectItem_WithBlank()
        {
            //---------------Set up test pack-------------------
            IComboBox cmbox = GetControlFactory().CreateComboBox();

            DisposeOnTearDown(cmbox);
            IControlFactory            controlFactory  = GetControlFactory();
            ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory, false);

            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            BusinessObjectCollection <MyBO> myBOs = new BusinessObjectCollection <MyBO> {
                { new MyBO(), new MyBO() }
            };

            selectorManager.SetCollection(myBOs);
            MyBO   myBO         = myBOs[1];
            string origToString = myBO.ToString();
            Guid   newValue     = Guid.NewGuid();
            int    index        = cmbox.Items.IndexOf(myBO);

            //---------------Assert precondition----------------
            Assert.AreEqual(3, cmbox.Items.Count);
            Assert.AreEqual(-1, cmbox.SelectedIndex);
            Assert.AreSame(myBO, cmbox.Items[index]);
            Assert.AreEqual(origToString, cmbox.Items[index].ToString());
            Assert.AreNotEqual(index, cmbox.SelectedIndex);
            //---------------Execute Test ----------------------
            myBO.MyBoID = newValue;
            //---------------Test Result -----------------------
            string newToString = myBO.ToString();

            Assert.AreNotEqual(origToString, newToString);
            Assert.AreEqual(-1, cmbox.SelectedIndex);
//            Assert.AreNotEqual(origToString, cmbox.Text);
//            Assert.AreEqual(newToString, cmbox.Text);
        }
 public void Test_SetComboBoxCollection_IncludeBlank_True()
 {
     //---------------Set up test pack-------------------
     var cmbox = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmbox);
     var controlFactory = GetControlFactory();
     var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);
     DisposeOnTearDown(selectorManager);
     MyBO.LoadDefaultClassDef();
     var firstBo = new MyBO();
     var myBoCol = new BusinessObjectCollection<MyBO>
                                                  {firstBo, new MyBO(), new MyBO()};
     //---------------Execute Test ----------------------
     selectorManager.SetCollection(myBoCol);
     //---------------Test Result -----------------------
     Assert.AreSame(firstBo, selectorManager.SelectedBusinessObject);
     Assert.AreEqual(4, cmbox.Items.Count);
 }
        public void Test_CancelEditsItemFromCollection_UpdatesItemInCombo()
        {
            //---------------Set up test pack-------------------
            BORegistry.DataAccessor = new DataAccessorInMemory();
            IComboBox cmbox = GetControlFactory().CreateComboBox();
            DisposeOnTearDown(cmbox);
            IControlFactory controlFactory = GetControlFactory();
            ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
                                                             {IncludeBlankItem = false};
            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            BusinessObjectCollection<MyBO> myBOs = new BusinessObjectCollection<MyBO> { { new MyBO(), new MyBO() } };
            selectorManager.SetCollection(myBOs);
            MyBO myBO = myBOs[0];
            Guid newValue = Guid.NewGuid();
            int index = cmbox.Items.IndexOf(myBO);
            cmbox.SelectedIndex = index;
            myBO.MyBoID = newValue;
            myBO.Save();
            //---------------Assert precondition----------------
            Assert.AreEqual(2, cmbox.Items.Count);
            Assert.AreEqual(0, cmbox.SelectedIndex);
            Assert.AreSame(myBO, cmbox.Items[index]);
            Assert.AreEqual(index, cmbox.SelectedIndex);
            //---------------Execute Test ----------------------
            myBO.MyBoID = Guid.NewGuid();
            myBO.CancelEdits();
            //---------------Test Result -----------------------
            Assert.AreEqual(0, cmbox.SelectedIndex);
            Assert.AreEqual(index, cmbox.SelectedIndex);
            Assert.AreSame(myBO, cmbox.Items[index]);
            string newToString = myBO.ToString();
            Assert.AreEqual(newToString, cmbox.Items[index].ToString());

        }
		public void Test_EditSelectedItemFromCollection_WhenOnlyItemInCollection_ShouldUpdateItemInCombo_AndMaintainsSelectedItem()
		{
			//---------------Set up test pack-------------------
			var cmbox = GetControlFactory().CreateComboBox();
            DisposeOnTearDown(cmbox);
            var controlFactory = GetControlFactory();
			var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory, false);
            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();

			var myBOs = new BusinessObjectCollection<MyBO> { { new MyBO() } };
			selectorManager.SetCollection(myBOs);
			var myBO = myBOs[0];
			selectorManager.SelectedBusinessObject = myBO;
			var origToString = myBO.ToString();
			var newValue = Guid.NewGuid();
			var index = cmbox.Items.IndexOf(myBO);
			//---------------Assert precondition----------------
			Assert.AreEqual(1, myBOs.Count);
			Assert.AreSame(myBO, selectorManager.SelectedBusinessObject);
			Assert.AreSame(myBO, cmbox.SelectedItem);
			Assert.AreSame(myBO, cmbox.Items[index]);
			Assert.AreEqual(index, cmbox.SelectedIndex);
			//---------------Execute Test ----------------------
			myBO.MyBoID = newValue;
			//---------------Test Result -----------------------
			var newToString = myBO.ToString();
			Assert.AreNotEqual(origToString, newToString);
			Assert.AreSame(myBO, selectorManager.SelectedBusinessObject);
			Assert.AreSame(myBO, cmbox.SelectedItem);
			//            Assert.AreNotEqual(origToString, cmbox.Text);
			//            Assert.AreEqual(newToString, cmbox.Text);
		}
        public void Test_EditUnselectedItemFromCollection_UpdatesItemInCombo_DoesNotSelectItem_WithBlank()
        {
            //---------------Set up test pack-------------------
            IComboBox cmbox = GetControlFactory().CreateComboBox();
            DisposeOnTearDown(cmbox);
            IControlFactory controlFactory = GetControlFactory();
            ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory, false);
            DisposeOnTearDown(selectorManager);
            MyBO.LoadDefaultClassDef();
            BusinessObjectCollection<MyBO> myBOs = new BusinessObjectCollection<MyBO> { { new MyBO(), new MyBO() } };
            selectorManager.SetCollection(myBOs);
            MyBO myBO = myBOs[1];
            string origToString = myBO.ToString();
            Guid newValue = Guid.NewGuid();
            int index = cmbox.Items.IndexOf(myBO);
            //---------------Assert precondition----------------
            Assert.AreEqual(3, cmbox.Items.Count);
            Assert.AreEqual(-1, cmbox.SelectedIndex);
            Assert.AreSame(myBO, cmbox.Items[index]);
            Assert.AreEqual(origToString, cmbox.Items[index].ToString());
            Assert.AreNotEqual(index, cmbox.SelectedIndex);
            //---------------Execute Test ----------------------
            myBO.MyBoID = newValue;
            //---------------Test Result -----------------------
            string newToString = myBO.ToString();
            Assert.AreNotEqual(origToString, newToString);
            Assert.AreEqual(-1, cmbox.SelectedIndex);
//            Assert.AreNotEqual(origToString, cmbox.Text);
//            Assert.AreEqual(newToString, cmbox.Text);
        }
 public void Test_EditSecondItemFromCollection_UpdatesItemInCombo()
 {
     //---------------Set up test pack-------------------
     var cmbox = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmbox);
     var controlFactory = GetControlFactory();
     var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory) {IncludeBlankItem = false};
     DisposeOnTearDown(selectorManager);
     MyBO.LoadDefaultClassDef();
     var myBOs = new BusinessObjectCollection<MyBO> { { new MyBO(), new MyBO() } };
     selectorManager.SetCollection(myBOs);
     var myBO = myBOs[1];
     string origToString = myBO.ToString();
     var newValue = Guid.NewGuid();
     var index = cmbox.Items.IndexOf(myBO);
     cmbox.SelectedIndex = index;
     //---------------Assert precondition----------------
     Assert.AreEqual(2, cmbox.Items.Count);
     Assert.AreEqual(1, cmbox.SelectedIndex);
     Assert.AreSame(myBO, cmbox.Items[index]);
     Assert.AreEqual(origToString, cmbox.Items[index].ToString());
     Assert.AreEqual(origToString, cmbox.Text);
     //---------------Execute Test ----------------------
     myBO.MyBoID = newValue;
     //---------------Test Result -----------------------
     string newToString = myBO.ToString();
     Assert.AreNotEqual(origToString, newToString);
     Assert.AreEqual(index, cmbox.SelectedIndex);
     //Assert.AreNotEqual(origToString, cmbox.Text);
     //Assert.AreEqual(newToString, cmbox.Text);
 }
 public void Test_BusinessObjectRemovedFromCollection()
 {
     IComboBox cmbox = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmbox);
     IControlFactory controlFactory = GetControlFactory();
     ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
                                                      {IncludeBlankItem = false};
     DisposeOnTearDown(selectorManager);
     MyBO.LoadDefaultClassDef();
     MyBO removedBo = new MyBO();
     BusinessObjectCollection<MyBO> myBoCol = new BusinessObjectCollection<MyBO>
                                                  {new MyBO(), removedBo, new MyBO()};
     selectorManager.SetCollection(myBoCol);
     //---------------Execute Test ----------------------
     selectorManager.BusinessObjectCollection.Remove(removedBo);
     //---------------Test Result -----------------------
     Assert.AreEqual(2, selectorManager.Control.Items.Count);
 }
 public void Test_BusinessObjectAddedToCollection()
 {
     var cmbox = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmbox);
     var controlFactory = GetControlFactory();
     var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
                                                      {IncludeBlankItem = false};
     DisposeOnTearDown(selectorManager);
     MyBO.LoadDefaultClassDef();
     var addedBo = new MyBO();
     var myBoCol = new BusinessObjectCollection<MyBO>
                                                  {new MyBO(), new MyBO(), new MyBO()};
     selectorManager.SetCollection(myBoCol);
     //---------------Execute Test ----------------------
     selectorManager.BusinessObjectCollection.Add(addedBo);
     //---------------Test Result -----------------------
     Assert.AreEqual(4, selectorManager.Control.Items.Count);
     //---------------Tear down -------------------------
 }
 public WinFormsBOComboBoxSelectorAdapter(ComboBox control) : base(control)
 {
     _manager = new ComboBoxCollectionSelector(this, GlobalUIRegistry.ControlFactory) {IncludeBlankItem = true};
     _manager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); };
 }
        /// <summary>
        /// Constructs a <see cref="RelationshipComboBoxMapper"/> with the <paramref name="comboBox"/>
        ///  <paramref name="relationshipName"/>
        /// </summary>
        /// <param name="comboBox">The combo box that is being mapped to</param>
        /// <param name="relationshipName">The name of the relation that is being mapped to</param>
        /// <param name="isReadOnly">Whether the Combo box can be used to edit from or whether it is only viewable</param>
        /// <param name="controlFactory">A control factory that is used to create control mappers etc</param>
        public RelationshipComboBoxMapper
            (IComboBox comboBox, string relationshipName, bool isReadOnly, IControlFactory controlFactory)
        {
            if (comboBox == null) throw new ArgumentNullException("comboBox");
            if (relationshipName == null) throw new ArgumentNullException("relationshipName");
            if (controlFactory == null) throw new ArgumentNullException("controlFactory");

            IsReadOnly = isReadOnly;
            ControlFactory = controlFactory;
            Control = comboBox;
            RelationshipName = relationshipName;
            _boRelationshipMapper = new BORelationshipMapper(relationshipName);
            _boRelationshipMapper.RelationshipChanged += (sender, e) => OnMappedRelationshipChanged();
            
            _mapperStrategy = ControlFactory.CreateLookupComboBoxDefaultMapperStrategy();
            _mapperStrategy.AddHandlers(this);
            UpdateIsEditable();
            _comboBoxCollectionSelector = new ComboBoxCollectionSelector(comboBox, controlFactory, false)
                                              {PreserveSelectedItem = true};
            this.IncludeBlankItem = true;
        }
 public void Test_ShouldSupportIBOColSelector()
 {
     //---------------Set up test pack-------------------
     IComboBox cmbox = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmbox);
     IControlFactory controlFactory = GetControlFactory();
     //---------------Assert Precondition----------------
     //---------------Execute Test ----------------------
     ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory, false);
     DisposeOnTearDown(selectorManager);
     //---------------Test Result -----------------------
     Assert.IsInstanceOf<IBOColSelector>(selectorManager);
 }
 public void Test_SelectedBusinessObject_EdgeCase_SelectCustomStringItem_ShouldReturnNull()
 {
     //---------------Set up test pack-------------------
     IComboBox cmbox = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmbox);
     IControlFactory controlFactory = GetControlFactory();
     var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);
     DisposeOnTearDown(selectorManager);
     selectorManager.IncludeBlankItem = false;
     MyBO.LoadDefaultClassDef();
     MyBO selectedBO = new MyBO();
     BusinessObjectCollection<MyBO> myBoCol = new BusinessObjectCollection<MyBO> { new MyBO(), selectedBO, new MyBO() };
     selectorManager.IncludeBlankItem = false;
     selectorManager.SetCollection(myBoCol);
     selectorManager.Control.SelectedIndex = 1;
     cmbox.Items.Add("SomeItem");
     //---------------Assert Preconditions---------------
     Assert.AreEqual(selectedBO, selectorManager.SelectedBusinessObject);
     //---------------Execute Test ----------------------
     cmbox.SelectedIndex = cmbox.Items.Count - 1;
     IBusinessObject selectedBusinessObject = selectorManager.SelectedBusinessObject;
     //---------------Test Result -----------------------
     Assert.IsNull(selectedBusinessObject);
 }
 public void Test_SetComboBoxCollection_PreserveSelectedItemTrue_AndSelectedItemNull_ShouldLeaveSelectedItemNull()
 {
     //---------------Set up test pack-------------------
     var cmbox = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmbox);
     var controlFactory = GetControlFactory();
     var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);
     DisposeOnTearDown(selectorManager);
     selectorManager.PreserveSelectedItem = true;
     selectorManager.IncludeBlankItem = true;
     MyBO.LoadDefaultClassDef();
     //---------------Assert Precondition----------------
     Assert.AreEqual(-1, cmbox.SelectedIndex);
     Assert.IsNull(cmbox.SelectedItem);
     //---------------Execute Test ----------------------
     selectorManager.SetCollection(new BusinessObjectCollection<MyBO>());
     //---------------Test Result -----------------------
     Assert.AreEqual(-1, cmbox.SelectedIndex);
     Assert.IsNull(cmbox.SelectedItem);
 }
        public void Test_Constructor()
        {
            //---------------Set up test pack-------------------
            IComboBox cmbox = GetControlFactory().CreateComboBox();
            DisposeOnTearDown(cmbox);
            IControlFactory controlFactory = GetControlFactory();
            //---------------Execute Test ----------------------
            ComboBoxCollectionSelector selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory);
            DisposeOnTearDown(selectorManager);
            //---------------Test Result -----------------------
            Assert.IsNotNull(selectorManager);
            Assert.AreSame(cmbox, selectorManager.Control);
            Assert.AreSame(controlFactory, selectorManager.ControlFactory);

            //---------------Tear Down -------------------------
        }
 public void Test_SelectedBusinessObject()
 {
     //---------------Set up test pack-------------------
     var cmbox = GetControlFactory().CreateComboBox();
     DisposeOnTearDown(cmbox);
     var controlFactory = GetControlFactory();
     var selectorManager = new ComboBoxCollectionSelector(cmbox, controlFactory)
                                                      {IncludeBlankItem = false};
     DisposeOnTearDown(selectorManager);
     MyBO.LoadDefaultClassDef();
     var selectedBO = new MyBO();
     var myBoCol = new BusinessObjectCollection<MyBO>
                                                  {new MyBO(), selectedBO, new MyBO()};
     //---------------Execute Test ----------------------
     selectorManager.SetCollection(myBoCol);
     selectorManager.Control.SelectedIndex = 1;
     //---------------Test Result -----------------------
     Assert.AreEqual(selectedBO, selectorManager.SelectedBusinessObject);
     //---------------Tear down -------------------------
 }