Esempio n. 1
0
        public IEnumerator RightClickInGUIShouldDrawWithoutErrors()
        {
            var obj          = CreateInstance <ShowSerializeReferenceDrawerTest>();
            var so           = new SerializedObject(obj);
            var sp           = so.FindProperty(nameof(Field));
            var testWindow   = EditorWindow.GetWindow <TestEditorWindow>();
            var position     = new Rect(0, 0, 50, 50f);
            var currentEvent = new GuiEvent(EventType.MouseDown, position.center, 1, ShowSerializeReferenceDrawer.RightClickButton);

            testWindow.onGui = new EditorEvent(() => ShowSerializeReferenceDrawer.OnGUI(position, sp, GUIContent.none, currentEvent, GetType().GetField(nameof(Field))));
            yield return(new WaitUntil(testWindow.OnGUIInitialized).OrTimeout(2000));

            testWindow.Close();
        }
Esempio n. 2
0
        public void GetSelectableTypesShouldReturnTypesFilteredByTypeFilter(
            Func <IEnumerable <Type>, IEnumerable <Type> > filter)
        {
            var obj = CreateInstance <ShowSerializeReferenceDrawerTest>();

            obj.typeFilter = filter;
            var so            = new SerializedObject(obj);
            var property      = so.FindProperty(nameof(FilteredField));
            var fieldInfo     = GetType().GetField(nameof(FilteredField));
            var expectedTypes = filter(property.GetSelectableManagedReferenceValueTypes()) ?? new Type[0];
            var actualTypes   = ShowSerializeReferenceDrawer.GetSelectableTypes(property, fieldInfo);
            var expected      = new HashSet <Type>(expectedTypes);
            var actual        = new HashSet <Type>(actualTypes);

            Assert.AreEqual(expected, actual);
        }