Browse Source

Add more dynamic tests

pull/1165/head
Siegfried Pammer 7 years ago
parent
commit
78e81bee29
  1. 58
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.cs
  2. 4332
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.il
  3. 4065
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.il
  4. 4423
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.roslyn.il
  5. 4814
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.roslyn.il

58
ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.cs

@ -4,6 +4,21 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty @@ -4,6 +4,21 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty
{
internal class DynamicTests
{
private class Base
{
public Base(object baseObj)
{
}
}
private class Derived : Base
{
public Derived(dynamic d)
: base((object)d)
{
}
}
private static dynamic field;
private static object objectField;
public dynamic Property {
@ -160,6 +175,48 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty @@ -160,6 +175,48 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty
DynamicTests.MemberAccess(a % null);
}
private static void CheckedArithmeticBinaryOperators(dynamic a, dynamic b)
{
checked {
DynamicTests.MemberAccess(a + b);
DynamicTests.MemberAccess(a + 1);
DynamicTests.MemberAccess(a + null);
DynamicTests.MemberAccess(a - b);
DynamicTests.MemberAccess(a - 1);
DynamicTests.MemberAccess(a - null);
DynamicTests.MemberAccess(a * b);
DynamicTests.MemberAccess(a * 1);
DynamicTests.MemberAccess(a * null);
}
DynamicTests.MemberAccess(a / b);
DynamicTests.MemberAccess(a / 1);
DynamicTests.MemberAccess(a / null);
DynamicTests.MemberAccess(a % b);
DynamicTests.MemberAccess(a % 1);
DynamicTests.MemberAccess(a % null);
}
private static void UncheckedArithmeticBinaryOperators(dynamic a, dynamic b)
{
checked {
DynamicTests.MemberAccess(a + b);
DynamicTests.MemberAccess(a + 1);
DynamicTests.MemberAccess(a + null);
DynamicTests.MemberAccess(unchecked(a - b));
DynamicTests.MemberAccess(a - 1);
DynamicTests.MemberAccess(a - null);
DynamicTests.MemberAccess(unchecked(a * b));
DynamicTests.MemberAccess(a * 1);
DynamicTests.MemberAccess(a * null);
}
DynamicTests.MemberAccess(a / b);
DynamicTests.MemberAccess(a / 1);
DynamicTests.MemberAccess(a / null);
DynamicTests.MemberAccess(a % b);
DynamicTests.MemberAccess(a % 1);
DynamicTests.MemberAccess(a % null);
}
private static void RelationalOperators(dynamic a, dynamic b)
{
DynamicTests.MemberAccess(a == b);
@ -186,6 +243,7 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty @@ -186,6 +243,7 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty
{
Console.WriteLine();
MemberAccess((int)a);
MemberAccess(checked((int)a));
}
private static void CompoundAssignment(dynamic a, dynamic b)

4332
ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.il

File diff suppressed because it is too large Load Diff

4065
ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.il

File diff suppressed because it is too large Load Diff

4423
ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.roslyn.il

File diff suppressed because it is too large Load Diff

4814
ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.roslyn.il

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save