public void FindScreens() { //create teh screenstack var screenStack = new ScreenStack(); //add three test screens screenStack.Screens.Add(new Screen1()); screenStack.Screens.Add(new Screen2()); screenStack.Screens.Add(new Screen3()); var screens = screenStack.FindScreens <ITest>(); Assert.AreEqual(2, screens.Count()); Assert.AreEqual(1, screens.Where(x => x.ScreenName == "First").Count()); Assert.AreEqual(1, screens.Where(x => x.ScreenName == "Second").Count()); Assert.AreEqual(0, screens.Where(x => x.ScreenName == "Third").Count()); }