2010-05-31 Jb Evain <jbevain@novell.com>
[mcs.git] / tests / test-614.cs
blob78b549a03f72d07e0ccbc0557e6baa9e6603cb4f
1 using System;
3 class C {
5 public static int value;
7 static internal void And ()
8 {
9 if ((false & (value++ == 1)) != (false & (++value == 1)))
10 return;
12 if (((value++ == 1) & false) != ((++value == 1) & false))
13 return;
15 if ((false && (value++ == 1)) != (false && (++value == 1)))
16 return;
18 if (((value++ == 1) && false) != ((++value == 1) && false))
19 return;
22 static internal void Or ()
24 if ((false | (value++ == 1)) != (false | (++value == 1)))
25 return;
27 if (((value++ == 1) | false) != ((++value == 1) | false))
28 return;
30 if ((true || (value++ == 1)) != (true || (++value == 1)))
31 return;
33 if (((value++ == 1) || true) != ((++value == 1) || true))
34 return;
37 static int Main ()
39 value = 0;
40 And ();
41 Console.WriteLine (value);
42 if (value != 6)
43 return 1;
45 value = 0;
46 Or ();
47 Console.WriteLine (value);
48 if (value != 6)
49 return 2;
51 return 0;