public void SingletonValue_CallingOnlyOnce_Integer() { var counter = 0; var singleValue = new SingletonValue <int>(() => { counter++; return(counter - 1); }); var a = singleValue.Value; var b = singleValue.Value; Assert.Equal(1, counter); Assert.Equal(0, a); Assert.Equal(0, b); }
public void SingletonValue_CallingOnlyOnce_String() { var counter = 0; var singleValue = new SingletonValue <string>(() => { counter++; return("test" + counter); }); var a = singleValue.Value; var b = singleValue.Value; Assert.Equal(1, counter); Assert.Equal("test1", a); Assert.Equal("test1", b); }