[Spec tests] Fix test cases structure

This commit is contained in:
anastasiia.spaseeva
2020-07-28 11:14:38 +03:00
parent 4ad3847224
commit bef59055cd
17 changed files with 342 additions and 93 deletions
@@ -11,9 +11,10 @@
* DESCRIPTION: Abstract classes may contain one or more abstract members, which should be implemented in a subtype of this abstract class
*/
// TESTCASE NUMBER: 1
<!REDUNDANT_MODIFIER!>open<!> abstract class Base {
// FILE: TestCase1.kt
// TESTCASE NUMBER:1
package testPackCase1
<!REDUNDANT_MODIFIER!>open<!> abstract class Base {
abstract val a: Any
abstract var b: Any
@@ -24,22 +25,34 @@
abstract fun foo()
internal abstract fun boo(): Any
}
fun case1() {
val impl = BaseImplCase2(1, "1", 1.0)
val impl = BaseImplCase1(1, "1", 1.0)
}
class BaseImplCase2(
class BaseImplCase1(
override var a: Any, override
<!VAR_OVERRIDDEN_BY_VAL!>val<!> b: Any, override var c: Any, override
<!VAR_OVERRIDDEN_BY_VAL!>val<!> d: Any = "5") : Base()
<!VAR_OVERRIDDEN_BY_VAL!>val<!> d: Any = "5") : Base()
{
override fun foo() {}
override internal fun boo() {}
}
// FILE: TestCase2.kt
// TESTCASE NUMBER: 2
package testPackCase2
<!REDUNDANT_MODIFIER!>open<!> abstract class Base {
abstract val a: Any
abstract var b: Any
internal abstract val c: Any
internal abstract var d: Any
abstract fun foo()
internal abstract fun boo(): Any
}
fun case2() {
val impl = ImplBaseCase2()
@@ -68,10 +81,22 @@ class ImplBaseCase2() : Base() {
}
}
/*
* TESTCASE NUMBER: 3
* NOTE: property is not implemented
*/
// FILE: TestCase.kt
// TESTCASE NUMBER: 3
package testPackCase3
<!REDUNDANT_MODIFIER!>open<!> abstract class Base {
abstract val a: Any
abstract var b: Any
internal abstract val c: Any
internal abstract var d: Any
abstract fun foo()
internal abstract fun boo(): Any
}
fun case3() {
ImplBaseCase3()
}
@@ -95,10 +120,21 @@ fun case3() {
}
}
/*
* TESTCASE NUMBER: 4
* NOTE: function is not implemented
*/
// FILE: TestCase.kt
// TESTCASE NUMBER: 4
package testPackCase4
<!REDUNDANT_MODIFIER!>open<!> abstract class Base {
abstract val a: Any
abstract var b: Any
internal abstract val c: Any
internal abstract var d: Any
abstract fun foo()
internal abstract fun boo(): Any
}
fun case4() {
ImplBaseCase4()
@@ -125,4 +161,4 @@ fun case4() {
* TESTCASE NUMBER: 5
* NOTE: incompatible modifiers final and abstract
*/
<!INCOMPATIBLE_MODIFIERS!>final<!> <!INCOMPATIBLE_MODIFIERS!>abstract<!> class Case5() {}
<!INCOMPATIBLE_MODIFIERS!>final<!> <!INCOMPATIBLE_MODIFIERS!>abstract<!> class Case5() {}
@@ -11,7 +11,9 @@
* DESCRIPTION: Abstract classes may contain abstract members, which should be implemented in an anonymous class that inherits from that abstract type
*/
// FILE: TestCase.kt
// TESTCASE NUMBER: 1
package testPackCase1
private abstract class Base {
abstract val a: Any
@@ -24,7 +26,6 @@ private abstract class Base {
internal abstract fun boo(): Any
}
fun case1() {
val impl = object : Base() {
override var a: Any
@@ -47,11 +48,26 @@ fun case1() {
}
// FILE: TestCase.kt
/*
* TESTCASE NUMBER: 2
* NOTE: property is not implemented
*/
* TESTCASE NUMBER: 2
* NOTE: property is not implemented
*/
package testPackCase2
private abstract class Base {
abstract val a: Any
abstract var b: Any
internal abstract val c: Any
internal abstract var d: Any
abstract fun foo()
internal abstract fun boo(): Any
}
fun case2() {
val impl = <!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>object<!> : Base() {
override var b: Any
@@ -74,10 +90,20 @@ fun case2() {
}
/*
* TESTCASE NUMBER: 3
* NOTE: function is not implemented
*/
// FILE: TestCase.kt
// TESTCASE NUMBER: 3
package testPackCase3
private abstract class Base {
abstract val a: Any
abstract var b: Any
internal abstract val c: Any
internal abstract var d: Any
abstract fun foo()
internal abstract fun boo(): Any
}
fun case3() {
val impl = <!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>object<!> : Base() {
@@ -11,7 +11,9 @@
* DESCRIPTION: attempt to implement abstract members with invalid types
*/
// FILE: TestCase.kt
// TESTCASE NUMBER: 1
package testPackCase1
abstract class Base {
abstract val a: CharSequence
abstract var b: CharSequence
@@ -34,9 +36,16 @@ class Case1 : Base() {
}
/*
* TESTCASE NUMBER: 2
*/
// FILE: TestCase.kt
// TESTCASE NUMBER: 2
package testPackCase2
abstract class Base {
abstract val a: CharSequence
abstract var b: CharSequence
abstract fun foo(): CharSequence
}
class Case2(override val a: String, override var b: <!VAR_TYPE_MISMATCH_ON_OVERRIDE!>String<!>) : Base() {
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>CharSequence?<!> {
@@ -44,10 +53,16 @@ class Case2(override val a: String, override var b: <!VAR_TYPE_MISMATCH_ON_OVERR
}
}
/*
* TESTCASE NUMBER: 3
* NOTE: abstract nested class members are not implemented
*/
// FILE: TestCase.kt
// TESTCASE NUMBER: 3
package testPackCase3
abstract class Base {
abstract val a: CharSequence
abstract var b: CharSequence
abstract fun foo(): CharSequence
}
class Case3 {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class ImplBase1<!> : MainClass.Base1() {}
@@ -64,7 +64,7 @@
},
{
"specVersion": "0.1-213",
"casesNumber": 1,
"casesNumber": 3,
"description": "Abstract classes may contain abstract members, which should be implemented in an anonymous class that inherits from that abstract type",
"path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes/p-2/neg/1.2.kt",
"unexpectedBehaviour": false,
@@ -72,7 +72,7 @@
},
{
"specVersion": "0.1-213",
"casesNumber": 1,
"casesNumber": 3,
"description": "attempt to implement abstract members with invalid types",
"path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes/p-2/neg/1.3.kt",
"unexpectedBehaviour": false,
@@ -128,7 +128,7 @@
},
{
"specVersion": "0.1-213",
"casesNumber": 2,
"casesNumber": 4,
"description": "Abstract classes may contain one or more abstract members, which should be implemented in a subtype of this abstract class",
"path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes/p-2/neg/1.1.kt",
"unexpectedBehaviour": false,