public void TestComponentContainerReplicatesChanges() { var mock1 = new Mock <IComponent>(); var mock2 = new Mock <IComponent>(); mock1.Setup(c => c.Clone()).Returns(() => mock2.Object); var componentContainer = new ComponentContainer(mock1.Object); componentContainer.CommitChanges(); mock2.Verify(c => c.CopyTo(mock1.Object), Times.Once()); componentContainer.CommitChanges(); mock2.Verify(c => c.CopyTo(mock1.Object), Times.Exactly(2)); }