public void Clone() { var criterium = new ResidualStopCriterium(1e-3f, 10); Assert.IsNotNull(criterium, "There should be a criterium"); var clone = criterium.Clone(); Assert.IsInstanceOf(typeof (ResidualStopCriterium), clone, "Wrong criterium type"); var clonedCriterium = clone as ResidualStopCriterium; Assert.IsNotNull(clonedCriterium); // ReSharper disable PossibleNullReferenceException Assert.AreEqual(criterium.Maximum, clonedCriterium.Maximum, "Clone failed"); Assert.AreEqual(criterium.MinimumIterationsBelowMaximum, clonedCriterium.MinimumIterationsBelowMaximum, "Clone failed"); // ReSharper restore PossibleNullReferenceException }