public void ContextCopyShouldCopyPropertyValue() { var expected = new A() { Value = 32 }; var obj = CreateInstance <ShowSerializeReferenceDrawerTest>(); obj.Field = expected; var so = new SerializedObject(obj); var property = so.FindProperty(nameof(Field)); var context = new ShowSerializeReferenceDrawer.Context(property); context.Copy(); var actual = ShowSerializeReferenceDrawer.copiedValue; Assert.AreEqual(expected, actual); }
public void ContextPasteShouldPasteValueOntoProperty() { var expected = new A() { Value = 32 }; ShowSerializeReferenceDrawer.copiedValue = expected; var obj = CreateInstance <ShowSerializeReferenceDrawerTest>(); var so = new SerializedObject(obj); var property = so.FindProperty(nameof(Field)); var context = new ShowSerializeReferenceDrawer.Context(property); context.Paste(); var actual = (A)property.GetValue(); Assert.AreEqual(expected.Value, actual.Value); }
public void ContextCreateMenuShouldReturnMenuWithCopyAndPaste(object copiedValue, bool pasteIsDisabled) { ShowSerializeReferenceDrawer.copiedValue = copiedValue; var obj = CreateInstance <ShowSerializeReferenceDrawerTest>(); var so = new SerializedObject(obj); var property = so.FindProperty(nameof(Field)); var context = new ShowSerializeReferenceDrawer.Context(property); var menu = context.CreateMenu(); var menuItems = GetMenuItems(menu); for (var i = 0; i < menuItems.Count; i++) { var isDisabled = GetMenuItemIsDisabled(menuItems, i); if (GetMenuItemName(menuItems, i) == "Copy") { Assert.IsFalse(isDisabled); } else { Assert.AreEqual(pasteIsDisabled, isDisabled); } } }