public void CopyFrom_Dictionaries_Clones() { var classOfDictionaries = new ClassOfDictionaries() { ValueValue = new Dictionary <int, int>() { { 10, 1 }, { 11, 2 } }, ValueReference = new Dictionary <int, ClassOfReferences>() { { 1, new ClassOfReferences() { FirstObjectProp = new ClassOfValues() { BoolProp = true } } } } }; var clone = new ClassOfDictionaries().CopyFrom(classOfDictionaries); Assert.Equal(1, clone.ValueValue[10]); Assert.Equal(2, clone.ValueValue[11]); Assert.True(clone.ValueReference[1].FirstObjectProp.BoolProp); }
public void CopyFrom_Dictionaries_CanNotModifyOriginalValue() { var classOfDictionaries = new ClassOfDictionaries() { ValueReference = new Dictionary <int, ClassOfReferences>() { { 1, new ClassOfReferences() { FirstObjectField = new ClassOfValues() { IntProp = 123 } } } } }; var clone = new ClassOfDictionaries().CopyFrom(classOfDictionaries); classOfDictionaries.ValueReference[1].FirstObjectField.IntProp = 123456; Assert.Equal(123, clone.ValueReference[1].FirstObjectField.IntProp); }