Ejemplo n.º 1
0
        public void FilterShouldApplyAndOperation()
        {
            PluginFilter tested = PluginFilter.Create.HasMaxVersion("55.66").And(PluginFilter.Create.HasMinVersion("55.66"));

            PluginDescriptor[] filtered = tested.Filter(this.descriptors).ToArray();

            Assert.AreEqual(1, filtered.Length);
            Assert.AreSame(plugin1, filtered.First());
        }
Ejemplo n.º 2
0
        public void FilterShouldApplyHasInfoValue()
        {
            PluginFilter tested = PluginFilter.Create.HasInfoValue("validkey", "validvalue");

            PluginDescriptor[] filtered = tested.Filter(this.descriptors).ToArray();

            Assert.AreEqual(1, filtered.Length);
            Assert.AreSame(this.plugin1, filtered.First());
        }
Ejemplo n.º 3
0
        public void FilterShouldApplyIsNamed()
        {
            PluginFilter tested = PluginFilter.Create.IsNamed("MockPlugin1");

            PluginDescriptor[] filtered = tested.Filter(this.descriptors).ToArray();

            Assert.AreEqual(1, filtered.Length);
            Assert.AreSame(this.plugin1, filtered.First());
        }
Ejemplo n.º 4
0
        public void FilterShouldApplyDerivesFrom()
        {
            PluginFilter tested = PluginFilter.Create.DerivesFrom(typeof(MockPluginBase));

            PluginDescriptor[] filtered = tested.Filter(this.descriptors).ToArray();

            Assert.AreEqual(1, filtered.Length);
            Assert.AreSame(this.plugin1, filtered.First());
        }
Ejemplo n.º 5
0
        public void FilterShouldApplyHasMaxVersion()
        {
            PluginFilter tested = PluginFilter.Create.HasMaxVersion("55.66");

            PluginDescriptor[] filtered = tested.Filter(this.descriptors).ToArray();

            Assert.AreEqual(2, filtered.Length);
            Assert.IsTrue(filtered.Contains(plugin1));
            Assert.IsTrue(filtered.Contains(plugin2));
        }
Ejemplo n.º 6
0
        public void FilterShouldApplyImplements()
        {
            PluginFilter tested = PluginFilter.Create.Implements(typeof(IMockPluginInterface1));

            PluginDescriptor[] filtered = tested.Filter(this.descriptors).ToArray();

            Assert.AreEqual(2, filtered.Length);
            Assert.IsTrue(filtered.Contains(plugin1));
            Assert.IsTrue(filtered.Contains(plugin3));
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Method for querying for plugins that satisfies a supplied filter
 /// </summary>
 /// <param name="filter">The requirements that plugins must fulfill to be returned. If no filter is provided then all known plugins is returned.</param>
 /// <returns>
 /// Enumerable of plugins that fulfills the requirements
 /// </returns>
 public IEnumerable<PluginDescriptor> Plugins(PluginFilter filter)
 {
     this.log.Debug(Resources.ReturningPluginsFor, filter);
       return filter != null ? filter.Filter(this.plugins) : this.plugins;
 }