public void ReplaceFirst() { // Given ModuleList collection = new ModuleList( new RedModule(), new CountModule("mykey1"), new CountModule("mykey2"), new GreenModule()); // When collection.ReplaceFirst <CountModule>(new CountModule("replacedKey")); // Then Assert.AreEqual("replacedKey", ((CountModule)collection[1]).ValueKey); Assert.AreEqual("mykey2", ((CountModule)collection[2]).ValueKey); }