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))); }
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))); }
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))); }
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))); }
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))); }
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))); }