Пример #1
0
        public void GetOrBuildFailTest()
        {
            var result = SafeMarshalling.GetOrBuild <string>(
                () => null as string,
                () => OOPS);

            Assert.Equal(OOPS, result);
        }
Пример #2
0
        public void GetOrBuildSuccessTest()
        {
            var result = SafeMarshalling.GetOrBuild <string>(
                () => HELLO_WORLD,
                () => OOPS);

            Assert.Equal(HELLO_WORLD, result);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
 public void TrySetNullActionTest()
 {
     Assert.Throws <ArgumentNullException>(() => SafeMarshalling.GetOrBuild <string>(null, null));
 }