public async Task ForkedContext() { var value = new GenericParameterHelper(); this.asyncLocal.Value = value; await Task.WhenAll( Task.Run(delegate { Assert.Same(value, this.asyncLocal.Value); this.asyncLocal.Value = null; Assert.Null(this.asyncLocal.Value); }), Task.Run(delegate { Assert.Same(value, this.asyncLocal.Value); this.asyncLocal.Value = null; Assert.Null(this.asyncLocal.Value); })); Assert.Same(value, this.asyncLocal.Value); this.asyncLocal.Value = null; Assert.Null(this.asyncLocal.Value); }
public void TestValueEvent() { GenericParameterHelper para = new GenericParameterHelper(); TextValuePair <GenericParameterHelper> target = new TextValuePair <GenericParameterHelper>("AA", null); bool changing = false; bool changed = false; bool error = false; target.PropertyChanging += (sender, e) => { if (e.PropertyName == "Value") { changing = true; if (target.Value != null) { error = true; } } }; target.PropertyChanged += (sender, e) => { if (changing && e.PropertyName == "Value") { changed = true; if (target.Value != para) { error = true; } } }; target.Value = para; Assert.IsFalse(error); Assert.IsTrue(changing); Assert.IsTrue(changed); }
public void TestEditableObjectTextAndValue() { GenericParameterHelper para1 = new GenericParameterHelper(1); GenericParameterHelper para2 = new GenericParameterHelper(2); TextValuePair <GenericParameterHelper> target = new TextValuePair <GenericParameterHelper>("AA", para1); IEditableObject obj = (IEditableObject)target; bool changing = false; bool changed = false; bool error = false; target.PropertyChanging += (sender, e) => { if (e.PropertyName == string.Empty) { changing = true; if (target.Text != "AA" || target.Value != para1) { error = true; } } }; target.PropertyChanged += (sender, e) => { if (changing && e.PropertyName == string.Empty) { changed = true; if (target.Text != "BB" || target.Value != para2) { error = true; } } }; // Test Text And Value obj.BeginEdit(); target.Text = "BB"; target.Value = para2; Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); obj.CancelEdit(); Assert.AreEqual(target.Text, "AA"); Assert.AreEqual(target.Value, para1); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); obj.EndEdit(); Assert.AreEqual(target.Text, "AA"); Assert.AreEqual(target.Value, para1); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); obj.CancelEdit(); Assert.AreEqual(target.Text, "AA"); Assert.AreEqual(target.Value, para1); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); obj.BeginEdit(); target.Text = "BB"; target.Value = para2; obj.EndEdit(); Assert.AreEqual(target.Text, "BB"); Assert.AreEqual(target.Value, para2); Assert.IsFalse(error); Assert.IsTrue(changing); Assert.IsTrue(changed); changing = false; changed = false; obj.CancelEdit(); Assert.AreEqual(target.Text, "BB"); Assert.AreEqual(target.Value, para2); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); // Test Text And Value without change changing = changed = error = false; obj.BeginEdit(); target.Text = "BB"; target.Value = para2; obj.EndEdit(); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); }
public void entityCollection_set_Item_invalid_index_should_raise_ArgumentOutOfRangeException() { var target = this.CreateMock <GenericParameterHelper>(); target[2] = new GenericParameterHelper(); }
public void Match_Succeeds_When_Value_To_Match_And_Reference_Are_Same_Instance() { var obj = new GenericParameterHelper(); Assert.IsTrue(NewInstance(obj).Matches(obj)); }
public void TestEditableObjectValue() { var para1 = new GenericParameterHelper(1); var para2 = new GenericParameterHelper(2); var target = new TextValuePair <GenericParameterHelper>("", para1); var obj = (IEditableObject)target; var changing = false; var changed = false; var error = false; target.PropertyChanging += (sender, e) => { if (e.PropertyName == "Value") { changing = true; if (target.Value != para1) { error = true; } } }; target.PropertyChanged += (sender, e) => { if (changing && e.PropertyName == "Value") { changed = true; if (target.Value != para2) { error = true; } } }; // Test Value obj.BeginEdit(); target.Value = para2; Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); obj.CancelEdit(); Assert.AreEqual(target.Value, para1); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); obj.EndEdit(); Assert.AreEqual(target.Value, para1); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); obj.CancelEdit(); Assert.AreEqual(target.Value, para1); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); obj.BeginEdit(); target.Value = para2; obj.EndEdit(); Assert.AreEqual(target.Value, para2); Assert.IsFalse(error); Assert.IsTrue(changing); Assert.IsTrue(changed); changing = false; changed = false; obj.CancelEdit(); Assert.AreEqual(target.Value, para2); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); // Test Value without change changing = changed = error = false; obj.BeginEdit(); target.Value = para2; obj.EndEdit(); Assert.IsFalse(error); Assert.IsFalse(changing); Assert.IsFalse(changed); }
public void Match_Fails_When_Value_To_Match_And_Reference_Are_The_Same_Instance_Of_A_Reference_Type_With_Value_Semantics() { var obj = new GenericParameterHelper(1); Assert.IsFalse(NewInstance(obj).Matches(obj)); }
public void Match_Succeeds_When_Value_To_Match_And_Reference_Are_The_Same_Instance_Of_A_Reference_Type_With_Value_Semantics() { var reference = new GenericParameterHelper(1); Assert.IsTrue(NewInstance(reference).Matches(reference)); }