public void Test_InitLightsGridInSolvableState_method() { var dimension = 5; var populator = new Mock <ILightsPopulator>(); var lightsGrid1 = It.IsAny <LightsGrid>(); populator.Setup(p => p.InitLightsGrid(dimension)).Returns(lightsGrid1); var lightsGrid2 = It.IsAny <LightsGrid>(); populator.Setup(p => p.ResetAllLights(lightsGrid1)).Returns(lightsGrid2); var lightsGrid3 = It.IsAny <LightsGrid>(); populator.Setup(p => p.PopulateSolvableState(lightsGrid2)).Returns(lightsGrid3); var mng = new LightsManager(populator.Object, null); var result = mng.InitLightsGridInSolvableState(dimension); populator.Verify(p => p.InitLightsGrid(dimension), Times.Once); populator.Verify(p => p.ResetAllLights(lightsGrid1), Times.Once); populator.Verify(p => p.PopulateSolvableState(lightsGrid2), Times.Once); Assert.AreSame(result, lightsGrid3); }