static object InvokeApplyFiltersMethod(SearcherFilter filter, TypeSearcherItemData data)
        {
            var method = filter.GetType().GetMethod("ApplyFilters",
                                                    BindingFlags.NonPublic | BindingFlags.Instance);

            return(method?.Invoke(filter, new object[] { data }));
        }
Example #2
0
        public void TestMultipleFilters(Type type, bool expectedResult)
        {
            var filter = new TestFilter(SearcherContext.Type).WithInt().WithString();
            var data   = new TypeSearcherItemData(type.GenerateTypeHandle(Stencil), SearcherItemTarget.Type);

            Assert.AreEqual(expectedResult, filter.ApplyFilters(data));
        }
Example #3
0
        public void TestWithConstants()
        {
            var filter = new SearcherFilter(SearcherContext.Graph).WithConstants();
            var data   = new TypeSearcherItemData(Stencil.GenerateTypeHandle(typeof(string)), SearcherItemTarget.Constant);

            Assert.IsTrue(filter.ApplyFilters(data));
        }
        public void TestWithSharedComponentData(Type type, bool expectedResult)
        {
            var filter = new SearcherFilter(SearcherContext.Type).WithSharedComponentData(m_Stencil);
            var data   = new TypeSearcherItemData(type.GenerateTypeHandle(m_Stencil), SearcherItemTarget.Type);
            var result = InvokeApplyFiltersMethod(filter, data);

            Assert.AreEqual(expectedResult, result);
        }
Example #5
0
        public void TestWithConstantsOfType(Type constType, Type portDataType, bool result)
        {
            var portMock = new Mock <IPortModel>();

            portMock.Setup(p => p.DataType).Returns(Stencil.GenerateTypeHandle(portDataType));

            var filter = new SearcherFilter(SearcherContext.Graph).WithConstants(Stencil, portMock.Object);
            var data   = new TypeSearcherItemData(Stencil.GenerateTypeHandle(constType), SearcherItemTarget.Constant);

            Assert.AreEqual(result, filter.ApplyFilters(data));
        }
        public void TestWithComponentDataWithExclusion()
        {
            var componentDataTypeHandle = typeof(TestComponent).GenerateTypeHandle(m_Stencil);
            var filter = new SearcherFilter(SearcherContext.Type).WithComponentData(m_Stencil, new HashSet <TypeHandle>()
            {
                componentDataTypeHandle
            });
            var data   = new TypeSearcherItemData(componentDataTypeHandle, SearcherItemTarget.Type);
            var result = InvokeApplyFiltersMethod(filter, data);

            Assert.That(result, Is.False);
        }
        public void TestWithComponents(Type type, bool expectedResult)
        {
            var components = new List <TypeHandle>
            {
                typeof(Translation).GenerateTypeHandle(m_Stencil),
                typeof(Scale).GenerateTypeHandle(m_Stencil)
            };
            var filter = new SearcherFilter(SearcherContext.Type).WithComponents(components);
            var data   = new TypeSearcherItemData(type.GenerateTypeHandle(m_Stencil), SearcherItemTarget.Type);
            var result = InvokeApplyFiltersMethod(filter, data);

            Assert.AreEqual(expectedResult, result);
        }
Example #8
0
        public void TestWithConstants_OnIOperationValidatorNode(bool expectedResult)
        {
            var dataType = Stencil.GenerateTypeHandle(typeof(bool));

            var portMock = new Mock <IPortModel>();

            portMock.Setup(p => p.DataType).Returns(dataType);

            var nodeMock = new Mock <UnaryOperatorNodeModel>();

            nodeMock.Setup(p => p.HasValidOperationForInput(portMock.Object, dataType)).Returns(expectedResult);
            portMock.Setup(p => p.NodeModel).Returns(nodeMock.Object);

            var filter = new SearcherFilter(SearcherContext.Graph).WithConstants(Stencil, portMock.Object);
            var data   = new TypeSearcherItemData(dataType, SearcherItemTarget.Constant);


            Assert.AreEqual(expectedResult, filter.ApplyFilters(data));
        }