public void GuardsForNull_WithArrays() { // This is the case when someone manages to // create NeverNull<T> using arrays. // Same behaviour as if using the default ctor. // Encapsulated values of each array members will be null. var stuff = new NeverNull<string>[3]; var neverNull = stuff[0]; Assert.Throws<NullReferenceException>(() => { var value = neverNull.Value; }) .Message.Contains("did you call default constructor"); }
public void GuardsForNull() { // This is the case when someone manages to // create NeverNull<T> using default ctor. // The Value prop will throw with some meaningful // message. // The value will be null; var neverNull = new NeverNull<string>(); Assert.Throws<NullReferenceException>(() => { var value = neverNull.Value; }) .Message.Contains("did you call default constructor"); }