44 references to TestConditional
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (44)
Semantics\ConditionalOperatorTests.cs (44)
26TestConditional("true ? 1 : 2", expectedType: "System.Int32");
27TestConditional("false ? 'a' : 'b'", expectedType: "System.Char");
28TestConditional("true ? 1.5 : GetDouble()", expectedType: "System.Double");
29TestConditional("false ? GetObject() : GetObject()", expectedType: "System.Object");
30TestConditional("true ? GetUserGeneric<T>() : GetUserGeneric<T>()", expectedType: "D<T>");
31TestConditional("false ? GetTypeParameter<T>() : GetTypeParameter<T>()", expectedType: "T");
40TestConditional("true ? GetShort() : GetInt()", expectedType: "System.Int32");
41TestConditional("false ? \"string\" : GetObject()", expectedType: "System.Object");
42TestConditional("true ? GetVariantInterface<string, int>() : GetVariantInterface<object, int>()", expectedType: "I<System.String, System.Int32>");
43TestConditional("false ? GetVariantInterface<int, object>() : GetVariantInterface<int, string>()", expectedType: "I<System.Int32, System.Object>");
59TestConditional("true ? 1 : (short)2", expectedType: "System.Int32");
60TestConditional("false ? (float)2 : 1", expectedType: "System.Single");
61TestConditional("true ? 1.5d : (double)2", expectedType: "System.Double");
81TestConditional("true ? GetUserGeneric<char>() : GetUserNonGeneric()", null,
91TestConditional("true ? GetObject() : null", expectedType: "System.Object"); //null literal
92TestConditional("false ? GetString : (System.Func<string>)null", expectedType: "System.Func<System.String>"); //method group
93TestConditional("true ? (System.Func<int, int>)null : x => x", expectedType: "System.Func<System.Int32, System.Int32>"); //lambda
102TestConditional("true ? GetInt() : null", null,
106TestConditional("false ? GetString : (System.Func<int>)null", null,
110TestConditional("true ? (System.Func<int, short>)null : x => x", null,
117TestConditional("true ? null : null", null,
119TestConditional("false ? null : GetInt", null,
121TestConditional("true ? null : x => x", null,
124TestConditional("false ? GetInt : GetInt", null,
126TestConditional("true ? GetInt : x => x", null,
129TestConditional("false ? x => x : x => x", null,
136TestConditional("true ? GetVoid() : GetInt()", null,
138TestConditional("GetVoid() ? 1 : 2", null,
140TestConditional("GetInt() ? 1 : 2", null,
142TestConditional("GetBool() ? 1 : 2", "System.Int32");
148TestConditional("true ? : GetInt()", null,
150TestConditional("true ? GetInt() : ", null,
157TestConditional("true? 0 : color.Blue", "color");
158TestConditional("true? 5 : color.Blue", null,
160TestConditional("true? null : color.Blue", null,
167TestConditional(@"(1 < 2) ? ""MyString"" as string : "" """, "System.String");
168TestConditional(@"(1 > 2) ? "" "" : ""MyString"" as string", "System.String");
174TestConditional(@"GetUserNonGeneric()? 1 : 2", null, Diagnostic(ErrorCode.ERR_NoImplicitConv, "GetUserNonGeneric()").WithArguments("C", "bool"));
175TestConditional(@"GetUserGeneric<T>()? 1 : 2", null, Diagnostic(ErrorCode.ERR_NoImplicitConv, "GetUserGeneric<T>()").WithArguments("D<T>", "bool"));
176TestConditional(@"GetTypeParameter<T>()? 1 : 2", null, Diagnostic(ErrorCode.ERR_NoImplicitConv, "GetTypeParameter<T>()").WithArguments("T", "bool"));
177TestConditional(@"GetVariantInterface<T, U>()? 1 : 2", null, Diagnostic(ErrorCode.ERR_NoImplicitConv, "GetVariantInterface<T, U>()").WithArguments("I<T, U>", "bool"));
184TestConditional("1 ? 2 : 3", null,
187TestConditional("goo ? 'a' : 'b'", null,
190TestConditional("new Goo() ? GetObject() : null", null,