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