public void CoalesceOrDefaultTest()
        {
            var    expected = RandomValueEx.GetRandomString();
            String s        = null;
            // ReSharper disable once ReturnValueOfPureMethodIsNotUsed
            // ReSharper disable once AssignNullToNotNullAttribute
            Action test = () => ObjectEx.CoalesceOrDefault(null, s, null, null, expected, "Test2");

            Assert.Throws <ArgumentNullException>(test);
        }
        public void CoalesceOrDefaultTest2()
        {
            var    expected = RandomValueEx.GetRandomString();
            String s        = null;
            // ReSharper disable once ExpressionIsAlwaysNull
            var actual = ObjectEx.CoalesceOrDefault(null, () => s, null, null, expected, "Test2");

            Assert.Equal(expected, actual);

            actual = ObjectEx.CoalesceOrDefault(null, () => expected, null, null);
            Assert.Equal(expected, actual);
        }