Ejemplo n.º 1
0
        public void IsTypeOfShouldAndCombineWithNewIsTypeOfFilter()
        {
            PluginFilter original = PluginFilter.Create.IsNamed("original");
            Type         type     = typeof(UnitTest_PluginFilter);
            PluginFilter tested   = original.IsTypeOf(type);

            Assert.AreEqual(PluginFilter.FilterOperation.And, tested.Operation);
            Assert.AreEqual(2, tested.SubFilters.Length);
            Assert.IsTrue(tested.SubFilters.Contains(original));
            Assert.IsTrue(tested.SubFilters.Any(x =>
                                                x.Operation == PluginFilter.FilterOperation.Or &&
                                                x.SubFilters.Length == 2 &&
                                                x.SubFilters.Any(y => y.Operation == PluginFilter.FilterOperation.DerivesFrom && y.OperationData == type.AssemblyQualifiedName) &&
                                                x.SubFilters.Any(y => y.Operation == PluginFilter.FilterOperation.Implements && y.OperationData == type.AssemblyQualifiedName)));
        }