diff options
Diffstat (limited to 'mcs/tests/test-51.cs')
-rwxr-xr-x | mcs/tests/test-51.cs | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/mcs/tests/test-51.cs b/mcs/tests/test-51.cs new file mode 100755 index 00000000000..3a6257747b6 --- /dev/null +++ b/mcs/tests/test-51.cs @@ -0,0 +1,89 @@ +// +// This test is used to test the `base' implementation +// +using System; + +class Base { + public int b_int_field; + public string b_string_field; + + public const int b_const_three = 3; + + public int b_int_property { + get { + return b_int_field; + } + + set { + b_int_field = value; + } + } + + public string b_get_id () + { + return "Base"; + } + + public Base () + { + b_int_field = 1; + b_string_field = "base"; + } +} + +class Derived : Base { + new int b_int_field; + new string b_string_field; + new const int b_const_three = 4; + + new int b_int_property { + get { + return b_int_field; + } + + + set { + b_int_field = value; + } + + } + + public Derived () + { + b_int_field = 10; + b_string_field = "derived"; + } + + public int Test () + { + if (b_int_field != 10) + return 1; + if (base.b_int_field != 1) + return 2; + if (base.b_string_field != "base") + return 3; + if (b_string_field != "derived") + return 4; + base.b_int_property = 4; + if (b_int_property != 10) + return 5; + if (b_int_property != 10) + return 6; + if (base.b_int_property != 4) + return 7; + if (b_const_three != 4) + return 8; + if (Base.b_const_three != 3) + return 9; + System.Console.WriteLine ("All tests pass"); + return 0; + } +} + +class boot { + static int Main () + { + Derived d = new Derived (); + return d.Test (); + } +} |