public void TrySetFailTest() { var output = OOPS; var result = SafeMarshalling.TrySet <string>(null as string, s => { output = s ?? throw new ArgumentNullException(nameof(s)); }); Assert.False(result); Assert.Equal(OOPS, output); }
public void TrySetSuccessTest() { var output = OOPS; var result = SafeMarshalling.TrySet <string>(HELLO_WORLD, s => { output = s ?? throw new ArgumentNullException(nameof(s)); }); Assert.True(result); Assert.Equal(HELLO_WORLD, output); }
public void SafeMarshallingCombinedTest() { var tc = new TestClass(); var result = SafeMarshalling.GetOrBuild <string>( () => tc.Value, () => OOPS); Assert.Equal(OOPS, result); if (SafeMarshalling.TrySet <string>(HELLO_WORLD, value => tc.Value = value)) { result = SafeMarshalling.GetOrBuild <string>( () => tc.Value, () => OOPS); Assert.Equal(HELLO_WORLD, result); } }