コード例 #1
0
        public void ShouldIncludeAReturnKeywordForACoalesce()
        {
            var stringVariable1 = Expression.Variable(typeof(string), "myString");
            var stringVariable2 = Expression.Variable(typeof(string), "yourString");
            var assignStrings   = Expression.Assign(stringVariable1, stringVariable2);

            var stringEmpty    = Expression.Field(null, typeof(string), "Empty");
            var variableOrNull = Expression.Coalesce(stringVariable1, stringEmpty);

            var coalesceBlock = Expression.Block(assignStrings, variableOrNull);

            var translated = ToReadableString(coalesceBlock);

            const string EXPECTED = @"
var myString = yourString;

return (myString ?? string.Empty);";

            translated.ShouldBe(EXPECTED.TrimStart());
        }