Merge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatting-changes
[mono.git] / mcs / tests / test-632.cs
1 using System;
2 class Bug379822 {
3         static void Assert (bool expected, bool value)
4         {
5                 if (value != expected)
6                         throw new Exception ("unexpected value");
7         }
8
9         static void TestAnd (bool var)
10         {
11                 Assert (false, false && var);
12                 Assert (false, var && false);
13                 Assert (false, false & var);
14                 Assert (false, var & false);
15
16                 Assert (var, true && var);
17                 Assert (var, var && true);
18                 Assert (var, true & var);
19                 Assert (var, var & true);
20         }
21
22         static void TestOr (bool var)
23         {
24                 Assert (var, false || var);
25                 Assert (var, var || false);
26                 Assert (var, false | var);
27                 Assert (var, var | false);
28
29                 Assert (true, true || var);
30                 Assert (true, var || true);
31                 Assert (true, true | var);
32                 Assert (true, var | true);
33         }
34
35         static void Test (bool var)
36         {
37                 TestAnd (var);
38                 TestOr (var);
39         }
40
41         public static void Main ()
42         {
43                 Test (false);
44                 Test (true);
45         }
46 }