public void OnAttachedTextIsUpdated() { // Arrange. const string Text = "Test Text"; var numericControl = Mock.Create<RadNumericUpDown>(Behavior.CallOriginal); Mock.Arrange(() => numericControl.ContentText).Returns(Text); Mock.Arrange(() => numericControl.GetValue(Arg.IsAny<DependencyProperty>())).CallOriginal(); Mock.Arrange(() => numericControl.SetValue(Arg.IsAny<DependencyProperty>(), Arg.AnyObject)).CallOriginal(); var behavior = new NumericUpDownTextBehavior(); // Act. behavior.Attach(numericControl); // Assert. Assert.AreEqual(Text, NumericUpDownTextBehavior.GetText(numericControl)); }
public void WhenContentTextChangesTextIsUpdated() { // Arrange. const string Text1 = "Test 1"; const string Text2 = "Test 2"; const string Text3 = "Test 3"; const string Text4 = "Test 4"; var numericControl = Mock.Create<RadNumericUpDown>(Behavior.CallOriginal); var valueListener = Mock.Create<DependencyPropertyChangedListener>(Constructor.Mocked, Behavior.Loose); var customUnitListener = Mock.Create<DependencyPropertyChangedListener>(Constructor.Mocked, Behavior.Loose); var numberDecimalDigitsListener = Mock.Create<DependencyPropertyChangedListener>(Constructor.Mocked, Behavior.Loose); var valueFormatListener = Mock.Create<DependencyPropertyChangedListener>(Constructor.Mocked, Behavior.Loose); var eventArgs = Mock.Create<DependencyPropertyValueChangedEventArgs>(Constructor.Mocked, Behavior.Loose); Mock.Arrange(() => DependencyPropertyChangedListener.Create(numericControl, "Value")).Returns(valueListener); Mock.Arrange(() => DependencyPropertyChangedListener.Create(numericControl, "CustomUnit")).Returns(customUnitListener); Mock.Arrange(() => DependencyPropertyChangedListener.Create(numericControl, "NumberDecimalDigits")).Returns(numberDecimalDigitsListener); Mock.Arrange(() => DependencyPropertyChangedListener.Create(numericControl, "ValueFormat")).Returns(valueFormatListener); var behavior = new NumericUpDownTextBehavior(); behavior.Attach(numericControl); // Act / Assert. Mock.Arrange(() => numericControl.ContentText).Returns(Text1); Mock.Raise(() => valueListener.ValueChanged += null, eventArgs); Assert.AreEqual(Text1, NumericUpDownTextBehavior.GetText(numericControl)); Mock.Arrange(() => numericControl.ContentText).Returns(Text2); Mock.Raise(() => customUnitListener.ValueChanged += null, eventArgs); Assert.AreEqual(Text2, NumericUpDownTextBehavior.GetText(numericControl)); Mock.Arrange(() => numericControl.ContentText).Returns(Text3); Mock.Raise(() => numberDecimalDigitsListener.ValueChanged += null, eventArgs); Assert.AreEqual(Text3, NumericUpDownTextBehavior.GetText(numericControl)); Mock.Arrange(() => numericControl.ContentText).Returns(Text4); Mock.Raise(() => valueFormatListener.ValueChanged += null, eventArgs); Assert.AreEqual(Text4, NumericUpDownTextBehavior.GetText(numericControl)); }
public void OnDetachingPropertyListenersAreDetached() { // Arrange. var numericControl = Mock.Create<RadNumericUpDown>(Behavior.CallOriginal); var valueListener = Mock.Create<DependencyPropertyChangedListener>(Constructor.Mocked, Behavior.Loose); var customUnitListener = Mock.Create<DependencyPropertyChangedListener>(Constructor.Mocked, Behavior.Loose); var numberDecimalDigitsListener = Mock.Create<DependencyPropertyChangedListener>(Constructor.Mocked, Behavior.Loose); var valueFormatListener = Mock.Create<DependencyPropertyChangedListener>(Constructor.Mocked, Behavior.Loose); Mock.Arrange(() => DependencyPropertyChangedListener.Create(numericControl, "Value")).Returns(valueListener); Mock.Arrange(() => DependencyPropertyChangedListener.Create(numericControl, "CustomUnit")).Returns(customUnitListener); Mock.Arrange(() => DependencyPropertyChangedListener.Create(numericControl, "NumberDecimalDigits")).Returns(numberDecimalDigitsListener); Mock.Arrange(() => DependencyPropertyChangedListener.Create(numericControl, "ValueFormat")).Returns(valueFormatListener); var behavior = new NumericUpDownTextBehavior(); behavior.Attach(numericControl); Mock.Assert(() => valueListener.Detach(), Occurs.Never()); Mock.Assert(() => customUnitListener.Detach(), Occurs.Never()); Mock.Assert(() => numberDecimalDigitsListener.Detach(), Occurs.Never()); Mock.Assert(() => valueFormatListener.Detach(), Occurs.Never()); // Act. behavior.Detach(); // Assert. Mock.Assert(() => valueListener.Detach(), Occurs.Once()); Mock.Assert(() => customUnitListener.Detach(), Occurs.Once()); Mock.Assert(() => numberDecimalDigitsListener.Detach(), Occurs.Once()); Mock.Assert(() => valueFormatListener.Detach(), Occurs.Once()); }