public void Test_AssertPropBoundToTextBox_WithLambda_WhenIsNot_ShouldReturnFalse()
        {
            //---------------Set up test pack-------------------
            var textBox     = GenerateStub <TextBox>();
            var textBoxName = GetRandomString();

            textBox.Name = textBoxName;
            var          controlBinder = new HabaneroControlBinder <FakeBoWithOnProp>();
            const string propName      = "FakeBOName";

            var otherTextBox  = GenerateStub <TextBox>();
            var textBoxMapper = controlBinder.Add <TextBoxMapper, TextBox>(otherTextBox, propName);
            var bindingTester = new BindingTester <FakeBoWithOnProp>(controlBinder);

            //---------------Assert Precondition----------------
            controlBinder.ControlMappers.Contains(textBoxMapper);
            Assert.AreNotSame(textBox, textBoxMapper.Control);
            //---------------Execute Test ----------------------
            try
            {
                bindingTester.AssertPropBoundTo(textBox, bo => bo.FakeBOName);
                Assert.Fail("Expected to throw an AssertionException");
            }
            //---------------Test Result -----------------------
            catch (AssertionException ex)
            {
                var expectedMsg = string.Format("The Property '{0}' for class '{1}' should be mapped to '{2}'", propName, "FakeBoWithOnProp", textBoxName);
                StringAssert.Contains(expectedMsg, ex.Message);
            }
        }
Exemplo n.º 2
0
 public BindingTester(HabaneroControlBinder <TBo> habaneroControlBinder)
 {
     if (habaneroControlBinder == null)
     {
         throw new ArgumentNullException("habaneroControlBinder");
     }
     _habaneroControlBinder = habaneroControlBinder;
 }
        public void Test_ConstructBindingTester_ShouldConstruct()
        {
            //---------------Set up test pack-------------------
            var controlBinder = new HabaneroControlBinder <FakeBoWithOnProp>();
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var bindingTester = new BindingTester <FakeBoWithOnProp>(controlBinder);

            //---------------Test Result -----------------------
            Assert.IsNotNull(bindingTester);
        }
        public void Test_AssertPropBound_WhenIs_ShouldReturnTrue()
        {
            //---------------Set up test pack-------------------
            var          textBox       = new TextBox();
            var          controlBinder = new HabaneroControlBinder <FakeBoWithOnProp>();
            const string propName      = "FakeBOName";

            controlBinder.Add <TextBoxMapper, TextBox>(textBox, propName);
            var bindingTester = new BindingTester <FakeBoWithOnProp>(controlBinder);

            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            bindingTester.AssertPropBoundTo(textBox, propName);
            //---------------Test Result -----------------------
            Assert.IsTrue(true, "If it has got here then passed.");
        }
        public void Test_ConstructBindingTester_WithNullControlBindier_ShouldRaiseError()
        {
            //---------------Set up test pack-------------------
            HabaneroControlBinder <FakeBoWithOnProp> controlBinder = null;

            //---------------Assert Precondition----------------
            Assert.IsNull(controlBinder);
            //---------------Execute Test ----------------------
            try
            {
                new BindingTester <FakeBoWithOnProp>(controlBinder);
                Assert.Fail("expected ArgumentNullException");
            }
            //---------------Test Result -----------------------
            catch (ArgumentNullException ex)
            {
                StringAssert.Contains("Value cannot be null", ex.Message);
                StringAssert.Contains("habaneroControlBinder", ex.ParamName);
            }
        }
Exemplo n.º 6
0
        public void Test_BindHabaneroControlBinder_ThenSelectItemViaControl_ShouldSetBusinessObjectControlBinder()
        {
            //---------------Set up test pack-------------------
            IHabaneroSelectorControlBinder <FakeBo> selectorBinder = CreateHabaneroSelectorControlBinder();
            var businessObjectCollection = GetBusinessObjectCollectionWith3Items();

            selectorBinder.SetBusinessObjectCollection(businessObjectCollection);
            var boToSelect = businessObjectCollection[2];

            var controlBinder = new HabaneroControlBinder <FakeBo>();

            //---------------Assert Precondition----------------
            Assert.IsNull(controlBinder.BusinessObject);
            Assert.IsNotNull(boToSelect);
            //---------------Execute Test ----------------------
            selectorBinder.BindEditorControlBinder(controlBinder);
            selectorBinder.ListControl.SelectedItem = boToSelect;
            //---------------Test Result -----------------------
            Assert.AreSame(boToSelect, controlBinder.BusinessObject);
        }
Exemplo n.º 7
0
 public void Test_AddMappersByConventions_WhenComboBox_WhenUsesConvention_ShouldAddLookupComboBoxMapper_WithCorrectControlAndProperty()
 {
     //---------------Set up test pack-------------------
     ClassDef.ClassDefs.Add(FakeBoWithLookupListProp.GetClassDef());
     var haberoControlBinder = new HabaneroControlBinder<FakeBoWithLookupListProp>();
     var comboBox = new ComboBox { Name = "cmbLookupListProp" };
     Control.ControlCollection controls = GetControlsCollection(comboBox);
     //---------------Assert Precondition----------------
     Assert.AreEqual(1, controls.Count, "Should have ComboBox");
     Assert.Contains(comboBox, controls, "Should have ComboBox");
     Assert.AreEqual(0, haberoControlBinder.ControlMappers.Count);
     //---------------Execute Test ----------------------
     haberoControlBinder.AddMappersByConvention(controls.Cast<Control>());
     //---------------Test Result -----------------------
     Assert.AreEqual(1, haberoControlBinder.ControlMappers.Count);
     var comboBoxMapper = haberoControlBinder.ControlMappers[0];
     var comboBoxAdapter = comboBoxMapper.Control as IWinFormsComboBoxAdapter;
     Assert.IsNotNull(comboBoxAdapter, "Should adapt the winforms control");
     Assert.AreSame(comboBox, comboBoxAdapter.WrappedControl);
     Assert.AreEqual("LookupListProp", comboBoxMapper.PropertyName, "The prop name should be derived from the control.Name");
 }
        public void Test_AssertPropBound_WhenIsNotBoundToAnything_ShouldReturnFalse()
        {
            //---------------Set up test pack-------------------
            var          controlBinder = new HabaneroControlBinder <FakeBoWithOnProp>();
            const string propName      = "FakeBOName";
            var          bindingTester = new BindingTester <FakeBoWithOnProp>(controlBinder);

            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            try
            {
                bindingTester.AssertPropBoundTo(GenerateStub <CheckBox>(), propName);
                Assert.Fail("Expected to throw an AssertionException");
            }
            //---------------Test Result -----------------------
            catch (AssertionException ex)
            {
                var expectedMsg = string.Format("The Property '{0}' for class '{1}' should be mapped", propName, "FakeBoWithOnProp");
                StringAssert.Contains(expectedMsg, ex.Message);
            }
        }
        public void Test_BindHabaneroControlBinder_ThenSelectItemViaControl_ShouldSetBusinessObjectControlBinder()
        {
            //---------------Set up test pack-------------------
            IHabaneroSelectorControlBinder<FakeBo> selectorBinder = CreateHabaneroSelectorControlBinder();
            var businessObjectCollection = GetBusinessObjectCollectionWith3Items();
            selectorBinder.SetBusinessObjectCollection(businessObjectCollection);
            var boToSelect = businessObjectCollection[2];

            var controlBinder = new HabaneroControlBinder<FakeBo>();
            //---------------Assert Precondition----------------
            Assert.IsNull(controlBinder.BusinessObject);
            Assert.IsNotNull(boToSelect);
            //---------------Execute Test ----------------------
            selectorBinder.BindEditorControlBinder(controlBinder);
            selectorBinder.ListControl.SelectedItem = boToSelect;
            //---------------Test Result -----------------------
            Assert.AreSame(boToSelect, controlBinder.BusinessObject);
        }