Example #1
0
		public void GettingValueAfterSettingShouldReturnSameValue()
		{
			var control = new ControlStub();
			var expected = "Something";
			ControlStub.SomeStringProperty.SetValue(control, expected);
			var actual = ControlStub.SomeStringProperty.GetValue(control);
			Assert.That(actual,Is.EqualTo(expected));
		}
Example #2
0
		public void SettingValueShouldFirePropertyChangedEvent()
		{
			var control = new ControlStub();
			var eventFired = false;
			control.PropertyChanged += (s, e) => eventFired = true;

			ControlStub.SomeStringProperty.SetValue(control,"Something");
			Assert.That(eventFired,Is.True);
		}
Example #3
0
		public void SettingValueShouldSetItInDependencyObjectPropertyBag()
		{
			var control = new ControlStub();
			var expected = "Something";
			ControlStub.SomeStringProperty.SetValue(control,expected);

			var actual = control.GetValue(ControlStub.SomeStringProperty.ActualDependencyProperty);
			Assert.That(actual,Is.EqualTo(expected));
		}
Example #4
0
		public void SettingValueToNullAfterIthasBeenSetToSomethingElseShouldFirePropertyChangedEvent()
		{
			var control = new ControlStub();
			var eventFireCount = 0;

			var valueToSet = "Something";
			ControlStub.SomeStringProperty.SetValue(control, valueToSet);
			control.PropertyChanged += (s, e) => eventFireCount++;
			ControlStub.SomeStringProperty.SetValue(control, null);
			Assert.That(eventFireCount, Is.EqualTo(1));
		}
Example #5
0
		public void SettingSameValueTwiceShouldFirePropertyChangedEventOnce()
		{
			var control = new ControlStub();
			var eventFireCount = 0;
			control.PropertyChanged += (s, e) => eventFireCount++;

			var valueToSet = "Something";
			ControlStub.SomeStringProperty.SetValue(control, valueToSet);
			ControlStub.SomeStringProperty.SetValue(control, valueToSet);
			Assert.That(eventFireCount, Is.EqualTo(1));
		}
Example #6
0
		public void SettingValueInOtherThreadShouldSetValue()
		{
			var control = new ControlStub();
			var expected = "Something";
			var waitEvent = new ManualResetEvent(false);
			var thread = new Thread(() =>
			                        	{
			                        		ControlStub.SomeStringProperty.SetValue(control, expected);
			                        		waitEvent.Set();
			                        	});
			thread.Start();

			waitEvent.WaitOne();
			var actual = ControlStub.SomeStringProperty.GetValue(control);
			Assert.That(actual,Is.EqualTo(expected));
		}