Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / test-346.cs
1 using System;
2
3 namespace TestMethods
4 {
5         class Class1
6         {
7                 public static int Main()
8                 {
9                         int test_int = 1;
10                         TestClass testClass = new TestClass();
11                         test_int *= testClass.AddItem (new TestParam());
12                         test_int *= testClass.AddItem (new ParamClass());
13
14                         int base_int = 1;
15                         BaseClass baseClass = testClass as BaseClass;
16                         base_int *= baseClass.AddItem (new TestParam());
17                         base_int *= baseClass.AddItem (new ParamClass());
18
19                         return (test_int == 4 && base_int == 9) ? 0 : 1;
20                 }
21         }
22         
23         public class ParamClass {}
24         
25         public class TestParam : ParamClass {}
26         
27         public abstract class BaseClass
28         {
29                 public abstract int AddItem (ParamClass val);
30         }
31         
32         public class TestClass : BaseClass
33         {
34                 public int AddItem (object val)
35                 {
36                         return 2;
37                 }
38                 
39                 public override int AddItem (ParamClass val)
40                 {
41                         return 3;
42                 }
43         }
44 }