Exemple #1
0
        public void SelectInvariantPlugIn()
        {
            var manager = new PlugInManager();

            manager.RegisterPlugIn <ISomeViewPlugIn, InvariantSeasonPlugIn>();
            var containerForSeason6English = new ViewPlugInContainer(this.CreatePlayer(manager), Season6E3English, manager);

            Assert.That(containerForSeason6English.GetPlugIn <ISomeViewPlugIn>().GetType(), Is.EqualTo(typeof(InvariantSeasonPlugIn)));
        }
Exemple #2
0
        public void SelectPlugInOfCorrectLanguage()
        {
            var manager = new PlugInManager();

            manager.RegisterPlugIn <ISomeViewPlugIn, Season6PlugInOfSomeOtherLanguage>();
            manager.RegisterPlugIn <ISomeViewPlugIn, Season6PlugIn>();
            var containerForSeason6English = new ViewPlugInContainer(this.CreatePlayer(manager), Season6E3English, manager);

            Assert.That(containerForSeason6English.GetPlugIn <ISomeViewPlugIn>().GetType(), Is.EqualTo(typeof(Season6PlugIn)));
        }
Exemple #3
0
        public void SelectLanguageSpecificOverInvariant()
        {
            var manager = new PlugInManager();

            manager.RegisterPlugIn <ISomeViewPlugIn, Season6PlugIn>();
            manager.RegisterPlugIn <ISomeViewPlugIn, Season6PlugInInvariant>();
            var containerForSeason9 = new ViewPlugInContainer(this.CreatePlayer(manager), Season9E2English, manager);

            Assert.That(containerForSeason9.GetPlugIn <ISomeViewPlugIn>().GetType(), Is.EqualTo(typeof(Season6PlugIn)));
        }
Exemple #4
0
        public void SelectPlugInOfCorrectVersionWhenLowerVersionsAreAvailable()
        {
            var manager = new PlugInManager();

            manager.RegisterPlugIn <ISomeViewPlugIn, InvariantSeasonPlugIn>();
            manager.RegisterPlugIn <ISomeViewPlugIn, Season1PlugIn>();
            manager.RegisterPlugIn <ISomeViewPlugIn, Season6PlugIn>();
            var containerForSeason9 = new ViewPlugInContainer(this.CreatePlayer(manager), Season9E2English, manager);

            Assert.That(containerForSeason9.GetPlugIn <ISomeViewPlugIn>().GetType(), Is.EqualTo(typeof(Season6PlugIn)));
        }
Exemple #5
0
        public void SelectPlugInOfCorrectVersionWhenExactVersionIsAvailable()
        {
            var manager = new PlugInManager(null, new NullLoggerFactory(), null);

            manager.RegisterPlugIn <ISomeViewPlugIn, Season1PlugIn>();
            manager.RegisterPlugIn <ISomeViewPlugIn, Season6PlugIn>();
            manager.RegisterPlugIn <ISomeViewPlugIn, Season9PlugIn>();
            var containerForSeason6 = new ViewPlugInContainer(this.CreatePlayer(manager), Season6E3English, manager);

            Assert.That(containerForSeason6.GetPlugIn <ISomeViewPlugIn>() !.GetType(), Is.EqualTo(typeof(Season6PlugIn)));
        }
Exemple #6
0
        public void SelectPlugInAfterDeactivation()
        {
            var manager = new PlugInManager();

            manager.RegisterPlugIn <ISomeViewPlugIn, InvariantSeasonPlugIn>();
            manager.RegisterPlugIn <ISomeViewPlugIn, Season1PlugIn>();
            manager.RegisterPlugIn <ISomeViewPlugIn, Season6PlugIn>();
            var containerForSeason9 = new ViewPlugInContainer(this.CreatePlayer(manager), Season9E2English, manager);

            manager.DeactivatePlugIn <Season6PlugIn>();
            Assert.That(containerForSeason9.GetPlugIn <ISomeViewPlugIn>().GetType(), Is.EqualTo(typeof(Season1PlugIn)));
        }