Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
                }
            }
        }