public void Should_be_able_to_retreive_last_reference_field_after_multiple_set() { //Given const string dummyFieldName = "dummyField"; var initialValue = new ProxyReferenceType(); Dictionary <string, ReferenceType> referenceFields = new Dictionary <string, ReferenceType> { { dummyFieldName, initialValue }, }; var refType = new ProxyReferenceType(referenceFields); var fieldValue = new ProxyReferenceType(); var fieldValue2 = new ProxyReferenceType(); var fieldValue3 = new ProxyReferenceType(); //When refType.SetField(dummyFieldName, fieldValue); refType.SetField(dummyFieldName, fieldValue2); refType.SetField(dummyFieldName, fieldValue3); //Then var retreivedValue = refType.GetReference(dummyFieldName); Check.That(retreivedValue).Not.IsSameReferenceAs(initialValue); Check.That(retreivedValue).Not.IsSameReferenceAs(fieldValue); Check.That(retreivedValue).Not.IsSameReferenceAs(fieldValue2); Check.That(retreivedValue).IsSameReferenceAs(fieldValue3); }
public void Should_not_be_able_to_set_non_existing_value_field() { //Given var refType = new ProxyReferenceType(); var fieldValue = (1, 2, 3); //When Then Check.ThatCode(() => refType.SetField("not existing field", fieldValue)).Throws <KeyNotFoundException>(); }
public void Should_be_able_to_retreive_last_value_field_after_multiple_set() { //Given const string dummyFieldName = "dummyField"; var initialValue = (false, 0); Dictionary <string, ValueType> valueFields = new Dictionary <string, ValueType> { { dummyFieldName, initialValue }, }; var refType = new ProxyReferenceType(valueFields); //When refType.SetField(dummyFieldName, (true, 3)); refType.SetField(dummyFieldName, (false, 3)); refType.SetField(dummyFieldName, (false, 5)); //Then var retreivedValue = refType.GetValue(dummyFieldName); Check.That(retreivedValue).IsEqualTo((false, 5)); }
public void Should_not_be_able_to_set_value_field_with_other_type() { //Given const string dummyFieldName = "dummyField"; var initialValue = (false, 0); Dictionary <string, ValueType> valueFields = new Dictionary <string, ValueType> { { dummyFieldName, initialValue }, }; var refType = new ProxyReferenceType(valueFields); //When Then Check.ThatCode(() => refType.SetField(dummyFieldName, (sbyte)-3)).Throws <ArgumentException>(); }