static object InvokeApplyFiltersMethod(SearcherFilter filter, TypeSearcherItemData data) { var method = filter.GetType().GetMethod("ApplyFilters", BindingFlags.NonPublic | BindingFlags.Instance); return(method?.Invoke(filter, new object[] { data })); }
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)); }
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); }
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); }
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)); }