public void ParameterPropertyShouldReturnNewInstances() { SqlString parameterString1 = new SqlString(Parameter.Placeholder); Parameter[] parameters1 = parameterString1.OfType <Parameter>().ToArray(); SqlString parameterString2 = new SqlString(Parameter.Placeholder); Parameter[] parameters2 = parameterString2.OfType <Parameter>().ToArray(); Assert.AreEqual(parameterString1, parameterString2); Assert.AreNotSame(parameterString1, parameterString2); parameters1[0].ParameterPosition = 231; Assert.IsNull(parameters2[0].ParameterPosition); // more simple version of the test Parameter.Placeholder.Should().Not.Be.SameInstanceAs(Parameter.Placeholder); }