X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Ftests%2Fdtest-033.cs;h=c01a0fae71b21f738ea359eb178e8072826c8707;hb=HEAD;hp=8a0f13b93d3d999b1facf83d3a617956515dfc7d;hpb=b226844cd7e1b9f5e575c413858b344076217b2e;p=mono.git diff --git a/mcs/tests/dtest-033.cs b/mcs/tests/dtest-033.cs index 8a0f13b93d3..c01a0fae71b 100644 --- a/mcs/tests/dtest-033.cs +++ b/mcs/tests/dtest-033.cs @@ -11,6 +11,11 @@ public class Test get { return 2; } set { } } + + byte Byte = 200; + static dynamic V; + dynamic DynamicByte; + byte[] ByteArray = { 1, 100 }; public static int Main () { @@ -24,11 +29,67 @@ public class Test if (v != "a-sdfas") return 1; + + dynamic d2 = null; + d2 += "a"; + if (d2 != "a") + return 2; byte b = 4; a.Prop *= b; a[4] ^= b; + + dynamic d = 1; +/* + b = byte.MaxValue; + try { + checked { + b += d; + return 3; + } + } catch (OverflowException) { + } + + b += d; +*/ + try { + checked { + a.Byte += 100; + return 4; + } + } catch (OverflowException) { + } + + a.Byte += 100; + + checked { + d = byte.MaxValue; + d += 100; + } + + checked { + V = byte.MaxValue; + V -= 300; + } + + var t = new Test (); + t.DynamicByte = byte.MaxValue; + d = t; + checked { + d.DynamicByte -= 500; + } + + if (t.DynamicByte != -245) + return 5; + + try { + checked { + d.ByteArray[1] += 200; + return 6; + } + } catch (OverflowException) { + } return 0; } -} \ No newline at end of file +}