Welcome to mirror list, hosted at ThFree Co, Russian Federation.

test-141.cs « tests « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: f45e00ad51f77949d204f6f4a1b2ef8cf1f3f5d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;

class X {
	public static int Main()
	{
		if (! Test1 ()) return 1;
		if (! Test2 ()) return 2;
		if (! Test3 ()) return 3;
		
		return 0;
	}
	
	static bool Test1 ()
	{
		byte num1 = 105;
		byte num2 = 150;

		// should generate OverflowException
		try {
			checked {
				byte sum = (byte) (num1 - num2);
			}
			
			return false;
		} catch (OverflowException) {
			return true;
		}
	}
	
	static bool Test2 ()
	{
		long l = long.MinValue;
		
		// should generate OverflowException
		try {
			checked {
				l = - l;
			}
			
			return false;
		} catch (OverflowException) {
			return true;
		}
	}
	
	static bool Test3 ()
	{
		int i = int.MinValue;
		
		// should generate OverflowException
		try {
			checked {
				i = - i;
			}
			
			return false;
		} catch (OverflowException) {
			return true;
		}
	}
}