From d07645b80a45b3ac7634f042f35ff013fc175700 Mon Sep 17 00:00:00 2001 From: Anirban Bhattacharjee Date: Tue, 21 Dec 2004 09:32:49 +0000 Subject: [PATCH] Couple of default property related test cases contributed by Sudharsan svn path=/trunk/mcs/; revision=38023 --- mcs/mbas/Test/errors/ChangeLog | 15 ++++++++ mcs/mbas/Test/errors/DefaultAttrC1.vb | 19 +++++++++++ mcs/mbas/Test/errors/DefaultAttrC2.vb | 23 +++++++++++++ mcs/mbas/Test/errors/DefaultAttrC3.vb | 18 ++++++++++ mcs/mbas/Test/errors/DefaultAttrC4.vb | 18 ++++++++++ mcs/mbas/Test/errors/DefaultAttrC5.vb | 23 +++++++++++++ mcs/mbas/Test/errors/DefaultAttrC6.vb | 31 +++++++++++++++++ mcs/mbas/Test/tests/ChangeLog | 15 ++++++++ mcs/mbas/Test/tests/DefaultAttrA.vb | 22 ++++++++++++ mcs/mbas/Test/tests/DefaultAttrB.vb | 31 +++++++++++++++++ mcs/mbas/Test/tests/DefaultAttrC.vb | 49 +++++++++++++++++++++++++++ mcs/mbas/Test/tests/DefaultAttrD.vb | 40 ++++++++++++++++++++++ mcs/mbas/Test/tests/DefaultAttrE.vb | 35 +++++++++++++++++++ mcs/mbas/Test/tests/DefaultAttrF.vb | 27 +++++++++++++++ mcs/mbas/Test/tests/DefaultAttrG.vb | 27 +++++++++++++++ 15 files changed, 393 insertions(+) create mode 100644 mcs/mbas/Test/errors/ChangeLog create mode 100644 mcs/mbas/Test/errors/DefaultAttrC1.vb create mode 100644 mcs/mbas/Test/errors/DefaultAttrC2.vb create mode 100644 mcs/mbas/Test/errors/DefaultAttrC3.vb create mode 100644 mcs/mbas/Test/errors/DefaultAttrC4.vb create mode 100644 mcs/mbas/Test/errors/DefaultAttrC5.vb create mode 100644 mcs/mbas/Test/errors/DefaultAttrC6.vb create mode 100644 mcs/mbas/Test/tests/ChangeLog create mode 100644 mcs/mbas/Test/tests/DefaultAttrA.vb create mode 100644 mcs/mbas/Test/tests/DefaultAttrB.vb create mode 100644 mcs/mbas/Test/tests/DefaultAttrC.vb create mode 100644 mcs/mbas/Test/tests/DefaultAttrD.vb create mode 100644 mcs/mbas/Test/tests/DefaultAttrE.vb create mode 100644 mcs/mbas/Test/tests/DefaultAttrF.vb create mode 100644 mcs/mbas/Test/tests/DefaultAttrG.vb diff --git a/mcs/mbas/Test/errors/ChangeLog b/mcs/mbas/Test/errors/ChangeLog new file mode 100644 index 00000000000..728c5bedadd --- /dev/null +++ b/mcs/mbas/Test/errors/ChangeLog @@ -0,0 +1,15 @@ +2004-12-21 Anirban Bhattacharjee + * DefaultAttrC1: + * DefaultAttrC2: + * DefaultAttrC3: + * DefaultAttrC4: + * DefaultAttrC5: + * DefaultAttrC6: + Above test cases are contributed by Sudharsan + +2004-12-21 Anirban Bhattacharjee + + This folder is been created by Jambunathan + on 2004-10-17 and moved all negetive (compilation) test cases for mbas + from btests to here. + diff --git a/mcs/mbas/Test/errors/DefaultAttrC1.vb b/mcs/mbas/Test/errors/DefaultAttrC1.vb new file mode 100644 index 00000000000..8e140ba9d7f --- /dev/null +++ b/mcs/mbas/Test/errors/DefaultAttrC1.vb @@ -0,0 +1,19 @@ +'Checks if Default is working or not.. +'Error Line: 9 +'Error BC31048 +'Error: Properties with no required parameters cannot be declared 'Default'. + +Imports System + +Class base + Public Default ReadOnly Property Item()As Integer + Get + Return 10 + End Get + End Property +End Class + +Module DefaultA + Sub Main() + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/errors/DefaultAttrC2.vb b/mcs/mbas/Test/errors/DefaultAttrC2.vb new file mode 100644 index 00000000000..de170569ec2 --- /dev/null +++ b/mcs/mbas/Test/errors/DefaultAttrC2.vb @@ -0,0 +1,23 @@ +'Error Line:13 +'Error BC30361 +'Error: 'Public ReadOnly Property Item(i As Integer, j As Integer) As Integer' and 'Public ReadOnly Default Property Item(i As Integer) As Integer' cannot overload each other because only one is declared 'Default'. + +Imports System + +Class base + Public Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return i + End Get + End Property + Public ReadOnly Property Item(ByVal i as Integer, ByVal j as Integer)As Integer + Get + Return 2*i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/errors/DefaultAttrC3.vb b/mcs/mbas/Test/errors/DefaultAttrC3.vb new file mode 100644 index 00000000000..09e3d68fb4a --- /dev/null +++ b/mcs/mbas/Test/errors/DefaultAttrC3.vb @@ -0,0 +1,18 @@ +'Error Line:8 +'Error BC30490 +'Error: 'Default' cannot be combined with 'Private'. + +Imports System + +Class base + Private Default ReadOnly Property Item(i as Integer)As Integer + Get + Return 10 + End Get + End Property +End Class + +Module DefaultA + Sub Main() + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/errors/DefaultAttrC4.vb b/mcs/mbas/Test/errors/DefaultAttrC4.vb new file mode 100644 index 00000000000..582f187424b --- /dev/null +++ b/mcs/mbas/Test/errors/DefaultAttrC4.vb @@ -0,0 +1,18 @@ +'Error Line:8 +'Error BC30502 +'Error: 'Shared' cannot be combined with 'Default' on a property declaration. + +Imports System + +Class base + Shared Default ReadOnly Property Item(i as Integer)As Integer + Get + Return 10 + End Get + End Property +End Class + +Module DefaultA + Sub Main() + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/errors/DefaultAttrC5.vb b/mcs/mbas/Test/errors/DefaultAttrC5.vb new file mode 100644 index 00000000000..61783a4bcb3 --- /dev/null +++ b/mcs/mbas/Test/errors/DefaultAttrC5.vb @@ -0,0 +1,23 @@ +'Error Line:13 +'Error BC30359 +'Error: 'Default' can be applied to only one property name in a class. + +Imports System + +Class base + Public Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return i + End Get + End Property + Public Default ReadOnly Property Item1(ByVal i as Integer)As Integer + Get + Return 2*i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/errors/DefaultAttrC6.vb b/mcs/mbas/Test/errors/DefaultAttrC6.vb new file mode 100644 index 00000000000..879106c4e56 --- /dev/null +++ b/mcs/mbas/Test/errors/DefaultAttrC6.vb @@ -0,0 +1,31 @@ +'Checking for interfaces.. though this is not a test for "default".. included this to check for proper functioning of the "property" +'Error Line: 14 +'Error BC30154: +'Error: 'derive' must implement 'ReadOnly Default Property Item(i As Integer, j As Integer) As Integer' for interface 'base'. Implementing property must have matching 'ReadOnly'/'WriteOnly' specifiers. + +Imports System + +Interface base + Default ReadOnly Property Item(ByVal i as Integer)As Integer + Default ReadOnly Property Item(ByVal i as Integer, ByVal j as Integer)As Integer +End Interface + +Class derive + Implements base + Public Shadows ReadOnly Default Property Item(ByVal i as Integer)As Integer Implements base.Item + Get + Return 2*i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + Dim a as derive=new derive() + Dim i as Integer + i=a(10) + if i<>20 Then + Throw New Exception("Default Not Working") + End If + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/tests/ChangeLog b/mcs/mbas/Test/tests/ChangeLog new file mode 100644 index 00000000000..dc78b57a530 --- /dev/null +++ b/mcs/mbas/Test/tests/ChangeLog @@ -0,0 +1,15 @@ +nirban Bhattacharjee + * DefaultAttrA: + * DefaultAttrB: + * DefaultAttrC: + * DefaultAttrD: + * DefaultAttrE: + * DefaultAttrF: + * DefaultAttrG: + Above test cases are contributed by Sudharsan + +2004-12-21 Anirban Bhattacharjee + + This folder is been created by Jambunathan + on 2004-10-17 and moved all positive test cases for mbas from btests + to here. diff --git a/mcs/mbas/Test/tests/DefaultAttrA.vb b/mcs/mbas/Test/tests/DefaultAttrA.vb new file mode 100644 index 00000000000..d9913886f57 --- /dev/null +++ b/mcs/mbas/Test/tests/DefaultAttrA.vb @@ -0,0 +1,22 @@ +'Checks if Default is working or not...It works + +Imports System + +Class base + Public Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + Dim a as base=new base() + Dim i as Integer + i=a(10) + if i<>10 Then + Throw New Exception("Default Not Working") + End If + End Sub +End Module diff --git a/mcs/mbas/Test/tests/DefaultAttrB.vb b/mcs/mbas/Test/tests/DefaultAttrB.vb new file mode 100644 index 00000000000..280fd534404 --- /dev/null +++ b/mcs/mbas/Test/tests/DefaultAttrB.vb @@ -0,0 +1,31 @@ +'Checks if Default is working or not after Inheriting...It works + +Imports System + +Class base + Public Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return i + End Get + End Property +End Class + +Class derive + Inherits base + Public Shadows Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return 2*i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + Dim a as derive=new derive() + Dim i as Integer + i=a(10) + if i<>20 Then + Throw New Exception("Default Not Working") + End If + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/tests/DefaultAttrC.vb b/mcs/mbas/Test/tests/DefaultAttrC.vb new file mode 100644 index 00000000000..0b6ae25b0f8 --- /dev/null +++ b/mcs/mbas/Test/tests/DefaultAttrC.vb @@ -0,0 +1,49 @@ +'Checks if Default is working or not after Inheriting...It works + +Imports System + +Class base + Public Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return i + End Get + End Property +End Class + +Class derive + Inherits base + Public Shadows ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return 2*i + End Get + End Property +End Class + +Class derive1 + Inherits derive + Public Shadows Default ReadOnly Property Item1(ByVal i as Integer)As Integer + Get + Return 3*i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + Dim a as derive1=new derive1() + Dim b as derive = a + Dim i, j, k as Integer + i=a(10) + j=a.Item(10) + k=b(10) + if i<>30 Then + Throw New Exception("Default Not Working properly in Derive1") + End If + if j<>20 Then + Throw New Exception("Default Not Working properly in Derive") + End If + if k<>10 Then + Throw New Exception("Default Not Working properly in Base") + End If + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/tests/DefaultAttrD.vb b/mcs/mbas/Test/tests/DefaultAttrD.vb new file mode 100644 index 00000000000..43c1714e4fa --- /dev/null +++ b/mcs/mbas/Test/tests/DefaultAttrD.vb @@ -0,0 +1,40 @@ +'Checks if Default property is working or not after Inheriting, overloading....It works + +Imports System + +Class base + Public Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return i + End Get + End Property + Public Default ReadOnly Property Item(ByVal i as Integer,ByVal j as Integer)As Integer + Get + Return i+j + End Get + End Property +End Class + +Class derive + Inherits base + Public Overloads Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return 2*i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + Dim a as derive=new derive() + Dim i,j as Integer + i=a(10) + j=a(10,20) + if i<>20 Then + Throw New Exception("Default Not Working") + End If + if j<>30 Then + Throw New Exception("Default Not Working") + End If + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/tests/DefaultAttrE.vb b/mcs/mbas/Test/tests/DefaultAttrE.vb new file mode 100644 index 00000000000..dbfd48c0cb5 --- /dev/null +++ b/mcs/mbas/Test/tests/DefaultAttrE.vb @@ -0,0 +1,35 @@ +'Checks if Default property is working or not after Inheriting, overloading....It works but gives a warning... + +'Error Line:19 +'Warning BC40007 +'Warning: Default property 'Item1' conflicts with default property 'Item' in the base class 'base' and so should be declared 'Shadows'. + +Imports System + +Class base + Public Default ReadOnly Property Item(ByVal i as Integer)As Integer + Get + Return i + End Get + End Property +End Class + +Class derive + Inherits base + Public Overloads Default ReadOnly Property Item1(ByVal i as Integer)As Integer + Get + Return 2*i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + Dim a as derive=new derive() + Dim i as Integer + i=a(10) + if i<>20 Then + Throw New Exception("Default Not Working") + End If + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/tests/DefaultAttrF.vb b/mcs/mbas/Test/tests/DefaultAttrF.vb new file mode 100644 index 00000000000..91566ce479c --- /dev/null +++ b/mcs/mbas/Test/tests/DefaultAttrF.vb @@ -0,0 +1,27 @@ +'Checking for interfaces + +Imports System + +Interface base + Default ReadOnly Property Item(ByVal i as Integer)As Integer +End Interface + +Class derive + Implements base + Public Overloads ReadOnly Default Property Item(ByVal i as Integer)As Integer Implements base.Item + Get + Return 2*i + End Get + End Property +End Class + +Module DefaultA + Sub Main() + Dim a as derive=new derive() + Dim i as Integer + i=a(10) + if i<>20 Then + Throw New Exception("Default Not Working") + End If + End Sub +End Module \ No newline at end of file diff --git a/mcs/mbas/Test/tests/DefaultAttrG.vb b/mcs/mbas/Test/tests/DefaultAttrG.vb new file mode 100644 index 00000000000..12472cdc3d0 --- /dev/null +++ b/mcs/mbas/Test/tests/DefaultAttrG.vb @@ -0,0 +1,27 @@ +'Checks if Default is working or not...It works + +Imports System + +Class base + Dim ia as integer + Public Default Property Item(ByVal i as Integer)As Integer + Get + Return ia + End Get + Set(ByVal j as Integer) + ia=j + End Set + End Property +End Class + +Module DefaultA + Sub Main() + Dim a as base=new base() + Dim i as Integer + a(1)=4 + i=a(10) + if i<>4 Then + Throw New Exception("Default Not Working") + End If + End Sub +End Module -- 2.25.1