From b7fe134b61c2d536819aa1bcc9af19a05d59a693 Mon Sep 17 00:00:00 2001 From: Jack Zhou Date: Sun, 21 Apr 2013 18:31:06 -0400 Subject: [PATCH] Create from usage: Added tests. --- .../quickfix/CreateMethodFromUsageFix.java | 2 +- .../classObject/afterCreateClassObject1.kt | 10 + .../classObject/afterCreateClassObject2.kt | 10 + .../classObject/beforeCreateClassObject1.kt | 8 + .../classObject/beforeCreateClassObject2.kt | 6 + .../afterCreateComponentFromUsage1.kt | 11 + .../afterCreateComponentFromUsage2.kt | 11 + .../beforeCreateComponentFromUsage1.kt | 8 + .../beforeCreateComponentFromUsage2.kt | 8 + .../get/afterCreateGetFromUsage1.kt | 9 + .../get/afterCreateGetFromUsage10.kt | 9 + .../get/afterCreateGetFromUsage11.kt | 9 + .../get/afterCreateGetFromUsage12.kt | 9 + .../get/afterCreateGetFromUsage13.kt | 13 ++ .../get/afterCreateGetFromUsage2.kt | 7 + .../get/afterCreateGetFromUsage3.kt | 9 + .../get/afterCreateGetFromUsage4.kt | 9 + .../get/afterCreateGetFromUsage5.kt | 9 + .../get/afterCreateGetFromUsage6.kt | 11 + .../get/afterCreateGetFromUsage7.kt | 11 + .../get/afterCreateGetFromUsage8.kt | 11 + .../get/afterCreateGetFromUsage9.kt | 11 + .../get/beforeCreateGetFromUsage1.kt | 6 + .../get/beforeCreateGetFromUsage10.kt | 6 + .../get/beforeCreateGetFromUsage11.kt | 5 + .../get/beforeCreateGetFromUsage12.kt | 5 + .../get/beforeCreateGetFromUsage13.kt | 10 + .../get/beforeCreateGetFromUsage2.kt | 4 + .../get/beforeCreateGetFromUsage3.kt | 6 + .../get/beforeCreateGetFromUsage4.kt | 6 + .../get/beforeCreateGetFromUsage5.kt | 6 + .../get/beforeCreateGetFromUsage6.kt | 6 + .../get/beforeCreateGetFromUsage7.kt | 8 + .../get/beforeCreateGetFromUsage8.kt | 8 + .../get/beforeCreateGetFromUsage9.kt | 8 + .../hasNext/afterCreateHasNextFromUsage1.kt | 17 ++ .../hasNext/afterCreateHasNextFromUsage2.kt | 17 ++ .../hasNext/beforeCreateHasNextFromUsage1.kt | 14 ++ .../hasNext/beforeCreateHasNextFromUsage2.kt | 14 ++ .../iterator/afterCreateIteratorFromUsage1.kt | 9 + .../iterator/afterCreateIteratorFromUsage2.kt | 12 + .../beforeCreateIteratorFromUsage1.kt | 5 + .../beforeCreateIteratorFromUsage2.kt | 8 + .../next/afterCreateNextFromUsage1.kt | 15 ++ .../next/afterCreateNextFromUsage2.kt | 15 ++ .../next/beforeCreateNextFromUsage1.kt | 12 + .../next/beforeCreateNextFromUsage2.kt | 12 + .../set/afterCreateSetFromUsage1.kt | 9 + .../set/afterCreateSetFromUsage2.kt | 11 + .../set/beforeCreateSetFromUsage1.kt | 6 + .../set/beforeCreateSetFromUsage2.kt | 6 + .../QuickFixMultiFileTestGenerated.java | 17 +- .../quickfix/QuickFixTestGenerated.java | 212 +++++++++++++++++- 53 files changed, 691 insertions(+), 5 deletions(-) create mode 100644 idea/testData/quickfix/createFromUsage/classObject/afterCreateClassObject1.kt create mode 100644 idea/testData/quickfix/createFromUsage/classObject/afterCreateClassObject2.kt create mode 100644 idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject1.kt create mode 100644 idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject2.kt create mode 100644 idea/testData/quickfix/createFromUsage/component/afterCreateComponentFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/component/afterCreateComponentFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage10.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage11.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage12.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage13.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage3.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage4.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage5.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage6.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage7.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage8.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage9.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage10.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage11.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage12.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage13.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage3.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage4.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage5.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage6.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage7.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage8.kt create mode 100644 idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage9.kt create mode 100644 idea/testData/quickfix/createFromUsage/hasNext/afterCreateHasNextFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/hasNext/afterCreateHasNextFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/iterator/afterCreateIteratorFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/iterator/afterCreateIteratorFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/next/afterCreateNextFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/next/afterCreateNextFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/set/afterCreateSetFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/set/afterCreateSetFromUsage2.kt create mode 100644 idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage1.kt create mode 100644 idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage2.kt diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/CreateMethodFromUsageFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/CreateMethodFromUsageFix.java index 9e63d56564a..d4a018fcf64 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/CreateMethodFromUsageFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/CreateMethodFromUsageFix.java @@ -563,7 +563,7 @@ public class CreateMethodFromUsageFix extends CreateFromUsageFixBase { ownerType.computeTypeCandidates(currentFileContext); TypeCandidate[] ownerTypeCandidates = ownerType.getTypeCandidates(); assert ownerTypeCandidates.length > 0; - if (ownerTypeCandidates.length == 1) { + if (ownerTypeCandidates.length == 1 || ApplicationManager.getApplication().isUnitTestMode()) { selectedReceiverType = ownerTypeCandidates[0]; doInvoke(project); } else { diff --git a/idea/testData/quickfix/createFromUsage/classObject/afterCreateClassObject1.kt b/idea/testData/quickfix/createFromUsage/classObject/afterCreateClassObject1.kt new file mode 100644 index 00000000000..046b2ea50ef --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/classObject/afterCreateClassObject1.kt @@ -0,0 +1,10 @@ +// "Create class object from usage" "true" +// ERROR: Expression 'T' of type '' cannot be invoked as a function +trait T { + class object { + } + +} +fun foo() { + val x = T() +} diff --git a/idea/testData/quickfix/createFromUsage/classObject/afterCreateClassObject2.kt b/idea/testData/quickfix/createFromUsage/classObject/afterCreateClassObject2.kt new file mode 100644 index 00000000000..e43a2d55083 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/classObject/afterCreateClassObject2.kt @@ -0,0 +1,10 @@ +// "Create class object from usage" "true" +// ERROR: Expression 'T' of type '' cannot be invoked as a function +trait T +{ + class object { + } +} +fun foo() { + val x = T() +} diff --git a/idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject1.kt b/idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject1.kt new file mode 100644 index 00000000000..146b39ce721 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject1.kt @@ -0,0 +1,8 @@ +// "Create class object from usage" "true" +// ERROR: Expression 'T' of type '' cannot be invoked as a function +trait T { + +} +fun foo() { + val x = T() +} diff --git a/idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject2.kt b/idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject2.kt new file mode 100644 index 00000000000..48024776e0e --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject2.kt @@ -0,0 +1,6 @@ +// "Create class object from usage" "true" +// ERROR: Expression 'T' of type '' cannot be invoked as a function +trait T +fun foo() { + val x = T() +} diff --git a/idea/testData/quickfix/createFromUsage/component/afterCreateComponentFromUsage1.kt b/idea/testData/quickfix/createFromUsage/component/afterCreateComponentFromUsage1.kt new file mode 100644 index 00000000000..4a730095803 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/component/afterCreateComponentFromUsage1.kt @@ -0,0 +1,11 @@ +// "Create method 'component3' from usage" "true" +class Foo { + fun component1(): Int { return 0 } + fun component2(): Int { return 0 } + fun component3(): Any { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +fun foo() { + val (a, b, c) = Foo() +} diff --git a/idea/testData/quickfix/createFromUsage/component/afterCreateComponentFromUsage2.kt b/idea/testData/quickfix/createFromUsage/component/afterCreateComponentFromUsage2.kt new file mode 100644 index 00000000000..4e30704925d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/component/afterCreateComponentFromUsage2.kt @@ -0,0 +1,11 @@ +// "Create method 'component3' from usage" "true" +class Foo { + fun component1(): Int { return 0 } + fun component2(): Int { return 0 } + fun component3(): String { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +fun foo() { + val (a, b, c: String) = Foo() +} diff --git a/idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage1.kt b/idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage1.kt new file mode 100644 index 00000000000..8d1bf4515a7 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage1.kt @@ -0,0 +1,8 @@ +// "Create method 'component3' from usage" "true" +class Foo { + fun component1(): Int { return 0 } + fun component2(): Int { return 0 } +} +fun foo() { + val (a, b, c) = Foo() +} diff --git a/idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage2.kt b/idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage2.kt new file mode 100644 index 00000000000..5ec47c32c3b --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage2.kt @@ -0,0 +1,8 @@ +// "Create method 'component3' from usage" "true" +class Foo { + fun component1(): Int { return 0 } + fun component2(): Int { return 0 } +} +fun foo() { + val (a, b, c: String) = Foo() +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage1.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage1.kt new file mode 100644 index 00000000000..8cf409481af --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage1.kt @@ -0,0 +1,9 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: Foo>) { + val z: Iterable = y[""] + } + fun get(s: String): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage10.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage10.kt new file mode 100644 index 00000000000..f16da937ee3 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage10.kt @@ -0,0 +1,9 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: Foo>, w: java.util.ArrayList) { + val z: Iterable = y["", w] + } + fun get(s: String, w: T): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage11.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage11.kt new file mode 100644 index 00000000000..8686065e93f --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage11.kt @@ -0,0 +1,9 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun get(s: String, w: T): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +fun x (y: Foo>, w: java.util.ArrayList) { + val z: Iterable = y["", w] +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage12.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage12.kt new file mode 100644 index 00000000000..d3d25c27abc --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage12.kt @@ -0,0 +1,9 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun get(s: String, w: T): Any { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +fun x (y: Foo>, w: java.util.ArrayList) { + val z = y["", w] +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage13.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage13.kt new file mode 100644 index 00000000000..f23bb7f2fd2 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage13.kt @@ -0,0 +1,13 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun bar(arg: String) { } + fun x (y: Foo>, w: ArrayList) { + val z = y["", w] + bar(z) + } + fun get(s: String, w: ArrayList): String { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage2.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage2.kt new file mode 100644 index 00000000000..dffa092c6ed --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage2.kt @@ -0,0 +1,7 @@ +// "Create method 'get' from usage" "true" +fun x (y: Any) { + val z: Any = y[""] +} +fun Any.get(s: String): Any { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage3.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage3.kt new file mode 100644 index 00000000000..04315facefd --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage3.kt @@ -0,0 +1,9 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: Foo>) { + val z: Iterable = y[""] + } + fun get(s: String): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage4.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage4.kt new file mode 100644 index 00000000000..a95fd697bc5 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage4.kt @@ -0,0 +1,9 @@ +// "Create method 'get' from usage" "true" +class Foo> { + fun x (y: Foo>) { + val z: U = y[""] + } + fun get(s: String): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage5.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage5.kt new file mode 100644 index 00000000000..09289a73dc1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage5.kt @@ -0,0 +1,9 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: Foo>, w: Iterable) { + val z: Iterable = y["", w] + } + fun get(s: String, w: Iterable): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage6.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage6.kt new file mode 100644 index 00000000000..dc50306d47b --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage6.kt @@ -0,0 +1,11 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun x (y: java.util.ArrayList, w: java.util.ArrayList) { + val z: java.util.ArrayList? = if (y["", w]) null else null + } +} +fun ArrayList.get(s: String, w: ArrayList): Boolean { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage7.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage7.kt new file mode 100644 index 00000000000..b32be62c6c1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage7.kt @@ -0,0 +1,11 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun x (y: Foo>, w: ArrayList) { + val z: Iterable = y["", w] + } + fun get(s: String, w: ArrayList): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage8.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage8.kt new file mode 100644 index 00000000000..caa960c3eae --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage8.kt @@ -0,0 +1,11 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun x (y: Foo>, w: ArrayList) { + val z: Iterable = y["", w] + } + fun get(s: String, w: T): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage9.kt b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage9.kt new file mode 100644 index 00000000000..8cf0aea7d04 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/afterCreateGetFromUsage9.kt @@ -0,0 +1,11 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun x (y: Foo>, w: ArrayList) { + val z: Iterable = y["", w] + } + fun get(s: String, w: S): S { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage1.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage1.kt new file mode 100644 index 00000000000..1f3f356d134 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage1.kt @@ -0,0 +1,6 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: Foo>) { + val z: Iterable = y[""] + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage10.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage10.kt new file mode 100644 index 00000000000..dfe91efecb6 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage10.kt @@ -0,0 +1,6 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: Foo>, w: java.util.ArrayList) { + val z: Iterable = y["", w] + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage11.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage11.kt new file mode 100644 index 00000000000..1962cc4865a --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage11.kt @@ -0,0 +1,5 @@ +// "Create method 'get' from usage" "true" +class Foo +fun x (y: Foo>, w: java.util.ArrayList) { + val z: Iterable = y["", w] +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage12.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage12.kt new file mode 100644 index 00000000000..9a13b753aca --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage12.kt @@ -0,0 +1,5 @@ +// "Create method 'get' from usage" "true" +class Foo +fun x (y: Foo>, w: java.util.ArrayList) { + val z = y["", w] +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage13.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage13.kt new file mode 100644 index 00000000000..9986981854f --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage13.kt @@ -0,0 +1,10 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun bar(arg: String) { } + fun x (y: Foo>, w: ArrayList) { + val z = y["", w] + bar(z) + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage2.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage2.kt new file mode 100644 index 00000000000..9d2682fbcc1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage2.kt @@ -0,0 +1,4 @@ +// "Create method 'get' from usage" "true" +fun x (y: Any) { + val z: Any = y[""] +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage3.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage3.kt new file mode 100644 index 00000000000..044c3f30c02 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage3.kt @@ -0,0 +1,6 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: Foo>) { + val z: Iterable = y[""] + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage4.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage4.kt new file mode 100644 index 00000000000..06e54a609fb --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage4.kt @@ -0,0 +1,6 @@ +// "Create method 'get' from usage" "true" +class Foo> { + fun x (y: Foo>) { + val z: U = y[""] + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage5.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage5.kt new file mode 100644 index 00000000000..606253ab6dd --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage5.kt @@ -0,0 +1,6 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: Foo>, w: Iterable) { + val z: Iterable = y["", w] + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage6.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage6.kt new file mode 100644 index 00000000000..6df19aaf1fb --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage6.kt @@ -0,0 +1,6 @@ +// "Create method 'get' from usage" "true" +class Foo { + fun x (y: java.util.ArrayList, w: java.util.ArrayList) { + val z: java.util.ArrayList? = if (y["", w]) null else null + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage7.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage7.kt new file mode 100644 index 00000000000..585766c4eeb --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage7.kt @@ -0,0 +1,8 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun x (y: Foo>, w: ArrayList) { + val z: Iterable = y["", w] + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage8.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage8.kt new file mode 100644 index 00000000000..7daa508dd1d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage8.kt @@ -0,0 +1,8 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun x (y: Foo>, w: ArrayList) { + val z: Iterable = y["", w] + } +} diff --git a/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage9.kt b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage9.kt new file mode 100644 index 00000000000..e6fb8ae0da4 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage9.kt @@ -0,0 +1,8 @@ +// "Create method 'get' from usage" "true" +import java.util.ArrayList + +class Foo { + fun x (y: Foo>, w: ArrayList) { + val z: Iterable = y["", w] + } +} diff --git a/idea/testData/quickfix/createFromUsage/hasNext/afterCreateHasNextFromUsage1.kt b/idea/testData/quickfix/createFromUsage/hasNext/afterCreateHasNextFromUsage1.kt new file mode 100644 index 00000000000..32d44370b25 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/hasNext/afterCreateHasNextFromUsage1.kt @@ -0,0 +1,17 @@ +// "Create method 'hasNext' from usage" "true" +class FooIterator { + fun next(): Int { + throw Exception("not implemented") + } + fun hasNext(): Boolean { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +class Foo { + fun iterator(): FooIterator { + throw Exception("not implemented") + } +} +fun foo() { + for (i: Int in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/hasNext/afterCreateHasNextFromUsage2.kt b/idea/testData/quickfix/createFromUsage/hasNext/afterCreateHasNextFromUsage2.kt new file mode 100644 index 00000000000..4a6fc9ef0d5 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/hasNext/afterCreateHasNextFromUsage2.kt @@ -0,0 +1,17 @@ +// "Create method 'hasNext' from usage" "true" +class FooIterator { + fun next(): T { + throw Exception("not implemented") + } + fun hasNext(): Boolean { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +class Foo { + fun iterator(): FooIterator { + throw Exception("not implemented") + } +} +fun foo() { + for (i in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage1.kt b/idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage1.kt new file mode 100644 index 00000000000..33e316a58dc --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage1.kt @@ -0,0 +1,14 @@ +// "Create method 'hasNext' from usage" "true" +class FooIterator { + fun next(): Int { + throw Exception("not implemented") + } +} +class Foo { + fun iterator(): FooIterator { + throw Exception("not implemented") + } +} +fun foo() { + for (i: Int in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage2.kt b/idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage2.kt new file mode 100644 index 00000000000..e51b24ecefc --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage2.kt @@ -0,0 +1,14 @@ +// "Create method 'hasNext' from usage" "true" +class FooIterator { + fun next(): T { + throw Exception("not implemented") + } +} +class Foo { + fun iterator(): FooIterator { + throw Exception("not implemented") + } +} +fun foo() { + for (i in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/iterator/afterCreateIteratorFromUsage1.kt b/idea/testData/quickfix/createFromUsage/iterator/afterCreateIteratorFromUsage1.kt new file mode 100644 index 00000000000..a405af8df81 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/iterator/afterCreateIteratorFromUsage1.kt @@ -0,0 +1,9 @@ +// "Create method 'iterator' from usage" "true" +class Foo { + fun iterator(): Iterator { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +fun foo() { + for (i: Int in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/iterator/afterCreateIteratorFromUsage2.kt b/idea/testData/quickfix/createFromUsage/iterator/afterCreateIteratorFromUsage2.kt new file mode 100644 index 00000000000..a5d765d5791 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/iterator/afterCreateIteratorFromUsage2.kt @@ -0,0 +1,12 @@ +// "Create method 'iterator' from usage" "true" +class Foo { + fun iterator(): Iterator { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +fun foo() { + for (i in Foo()) { + bar(i) + } +} +fun bar(i: String) { } diff --git a/idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage1.kt b/idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage1.kt new file mode 100644 index 00000000000..e369b20bfd1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage1.kt @@ -0,0 +1,5 @@ +// "Create method 'iterator' from usage" "true" +class Foo +fun foo() { + for (i: Int in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage2.kt b/idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage2.kt new file mode 100644 index 00000000000..dfbec160ce3 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage2.kt @@ -0,0 +1,8 @@ +// "Create method 'iterator' from usage" "true" +class Foo +fun foo() { + for (i in Foo()) { + bar(i) + } +} +fun bar(i: String) { } diff --git a/idea/testData/quickfix/createFromUsage/next/afterCreateNextFromUsage1.kt b/idea/testData/quickfix/createFromUsage/next/afterCreateNextFromUsage1.kt new file mode 100644 index 00000000000..91cd86a1e88 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/next/afterCreateNextFromUsage1.kt @@ -0,0 +1,15 @@ +// "Create method 'next' from usage" "true" +class FooIterator { + fun hasNext(): Boolean { return false } + fun next(): Int { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +class Foo { + fun iterator(): FooIterator { + throw Exception("not implemented") + } +} +fun foo() { + for (i: Int in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/next/afterCreateNextFromUsage2.kt b/idea/testData/quickfix/createFromUsage/next/afterCreateNextFromUsage2.kt new file mode 100644 index 00000000000..f16aa88f96d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/next/afterCreateNextFromUsage2.kt @@ -0,0 +1,15 @@ +// "Create method 'next' from usage" "true" +class FooIterator { + fun hasNext(): Boolean { return false } + fun next(): T { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} +class Foo { + fun iterator(): FooIterator { + throw Exception("not implemented") + } +} +fun foo() { + for (i: Int in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage1.kt b/idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage1.kt new file mode 100644 index 00000000000..c4b57554e31 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage1.kt @@ -0,0 +1,12 @@ +// "Create method 'next' from usage" "true" +class FooIterator { + fun hasNext(): Boolean { return false } +} +class Foo { + fun iterator(): FooIterator { + throw Exception("not implemented") + } +} +fun foo() { + for (i: Int in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage2.kt b/idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage2.kt new file mode 100644 index 00000000000..401cdf419c5 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage2.kt @@ -0,0 +1,12 @@ +// "Create method 'next' from usage" "true" +class FooIterator { + fun hasNext(): Boolean { return false } +} +class Foo { + fun iterator(): FooIterator { + throw Exception("not implemented") + } +} +fun foo() { + for (i: Int in Foo()) { } +} diff --git a/idea/testData/quickfix/createFromUsage/set/afterCreateSetFromUsage1.kt b/idea/testData/quickfix/createFromUsage/set/afterCreateSetFromUsage1.kt new file mode 100644 index 00000000000..234cb8f6c77 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/set/afterCreateSetFromUsage1.kt @@ -0,0 +1,9 @@ +// "Create method 'set' from usage" "true" +class Foo { + fun x (y: Foo>, w: java.util.ArrayList) { + y["", w] = w + } + fun set(s: String, w: T, value: T) { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. + } +} diff --git a/idea/testData/quickfix/createFromUsage/set/afterCreateSetFromUsage2.kt b/idea/testData/quickfix/createFromUsage/set/afterCreateSetFromUsage2.kt new file mode 100644 index 00000000000..1fe75ddfe34 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/set/afterCreateSetFromUsage2.kt @@ -0,0 +1,11 @@ +// "Create method 'set' from usage" "true" +import java.util.ArrayList + +class Foo { + fun x (y: Any, w: java.util.ArrayList) { + y["", w] = w + } +} +fun Any.set(s: String, w: ArrayList, value: ArrayList) { + throw Exception("not implemented") //To change body of created methods use File | Settings | File Templates. +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage1.kt b/idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage1.kt new file mode 100644 index 00000000000..1cb5ce5e854 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage1.kt @@ -0,0 +1,6 @@ +// "Create method 'set' from usage" "true" +class Foo { + fun x (y: Foo>, w: java.util.ArrayList) { + y["", w] = w + } +} diff --git a/idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage2.kt b/idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage2.kt new file mode 100644 index 00000000000..528ebc67bb2 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage2.kt @@ -0,0 +1,6 @@ +// "Create method 'set' from usage" "true" +class Foo { + fun x (y: Any, w: java.util.ArrayList) { + y["", w] = w + } +} diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixMultiFileTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixMultiFileTestGenerated.java index 42777588b35..b585c4a7827 100644 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixMultiFileTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixMultiFileTestGenerated.java @@ -31,7 +31,7 @@ import org.jetbrains.jet.plugin.quickfix.AbstractQuickFixMultiFileTest; /** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") @TestMetadata("idea/testData/quickfix") -@InnerTestClasses({QuickFixMultiFileTestGenerated.AddStarProjections.class, QuickFixMultiFileTestGenerated.AutoImports.class, QuickFixMultiFileTestGenerated.Modifiers.class, QuickFixMultiFileTestGenerated.Nullables.class, QuickFixMultiFileTestGenerated.Override.class, QuickFixMultiFileTestGenerated.TypeImports.class, QuickFixMultiFileTestGenerated.TypeMismatch.class, QuickFixMultiFileTestGenerated.Variables.class}) +@InnerTestClasses({QuickFixMultiFileTestGenerated.AddStarProjections.class, QuickFixMultiFileTestGenerated.AutoImports.class, QuickFixMultiFileTestGenerated.CreateFromUsage.class, QuickFixMultiFileTestGenerated.Modifiers.class, QuickFixMultiFileTestGenerated.Nullables.class, QuickFixMultiFileTestGenerated.Override.class, QuickFixMultiFileTestGenerated.TypeImports.class, QuickFixMultiFileTestGenerated.TypeMismatch.class, QuickFixMultiFileTestGenerated.Variables.class}) public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTest { public void testAllFilesPresentInQuickfix() throws Exception { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true); @@ -129,6 +129,20 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes } + @TestMetadata("idea/testData/quickfix/createFromUsage") + @InnerTestClasses({}) + public static class CreateFromUsage extends AbstractQuickFixMultiFileTest { + public void testAllFilesPresentInCreateFromUsage() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true); + } + + public static Test innerSuite() { + TestSuite suite = new TestSuite("CreateFromUsage"); + suite.addTestSuite(CreateFromUsage.class); + return suite; + } + } + @TestMetadata("idea/testData/quickfix/modifiers") @InnerTestClasses({Modifiers.AddOpenToClassDeclaration.class}) public static class Modifiers extends AbstractQuickFixMultiFileTest { @@ -281,6 +295,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes suite.addTestSuite(QuickFixMultiFileTestGenerated.class); suite.addTest(AddStarProjections.innerSuite()); suite.addTestSuite(AutoImports.class); + suite.addTest(CreateFromUsage.innerSuite()); suite.addTest(Modifiers.innerSuite()); suite.addTest(Nullables.innerSuite()); suite.addTest(Override.innerSuite()); diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixTestGenerated.java index 9697cd550b8..02da71be244 100644 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixTestGenerated.java @@ -16,19 +16,22 @@ package org.jetbrains.jet.plugin.quickfix; +import junit.framework.Assert; import junit.framework.Test; import junit.framework.TestSuite; + +import java.io.File; +import java.util.regex.Pattern; import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.test.InnerTestClasses; import org.jetbrains.jet.test.TestMetadata; -import java.io.File; -import java.util.regex.Pattern; +import org.jetbrains.jet.plugin.quickfix.AbstractQuickFixTest; /** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") @TestMetadata("idea/testData/quickfix") -@InnerTestClasses({QuickFixTestGenerated.Abstract.class, QuickFixTestGenerated.AddStarProjections.class, QuickFixTestGenerated.AutoImports.class, QuickFixTestGenerated.ChangeSignature.class, QuickFixTestGenerated.CheckArguments.class, QuickFixTestGenerated.Expressions.class, QuickFixTestGenerated.Migration.class, QuickFixTestGenerated.Modifiers.class, QuickFixTestGenerated.Nullables.class, QuickFixTestGenerated.Override.class, QuickFixTestGenerated.PlatformClasses.class, QuickFixTestGenerated.Supercalls.class, QuickFixTestGenerated.SupertypeInitialization.class, QuickFixTestGenerated.TypeAddition.class, QuickFixTestGenerated.TypeImports.class, QuickFixTestGenerated.TypeMismatch.class, QuickFixTestGenerated.TypeProjection.class, QuickFixTestGenerated.UselessImports.class, QuickFixTestGenerated.Variables.class, QuickFixTestGenerated.When.class}) +@InnerTestClasses({QuickFixTestGenerated.Abstract.class, QuickFixTestGenerated.AddStarProjections.class, QuickFixTestGenerated.AutoImports.class, QuickFixTestGenerated.ChangeSignature.class, QuickFixTestGenerated.CheckArguments.class, QuickFixTestGenerated.CreateFromUsage.class, QuickFixTestGenerated.Expressions.class, QuickFixTestGenerated.Migration.class, QuickFixTestGenerated.Modifiers.class, QuickFixTestGenerated.Nullables.class, QuickFixTestGenerated.Override.class, QuickFixTestGenerated.PlatformClasses.class, QuickFixTestGenerated.Supercalls.class, QuickFixTestGenerated.SupertypeInitialization.class, QuickFixTestGenerated.TypeAddition.class, QuickFixTestGenerated.TypeImports.class, QuickFixTestGenerated.TypeMismatch.class, QuickFixTestGenerated.TypeProjection.class, QuickFixTestGenerated.UselessImports.class, QuickFixTestGenerated.Variables.class, QuickFixTestGenerated.When.class}) public class QuickFixTestGenerated extends AbstractQuickFixTest { public void testAllFilesPresentInQuickfix() throws Exception { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix"), Pattern.compile("^before(\\w+)\\.kt$"), true); @@ -426,6 +429,208 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { } + @TestMetadata("idea/testData/quickfix/createFromUsage") + @InnerTestClasses({CreateFromUsage.ClassObject.class, CreateFromUsage.Component.class, CreateFromUsage.Get.class, CreateFromUsage.HasNext.class, CreateFromUsage.Iterator.class, CreateFromUsage.Next.class, CreateFromUsage.Set.class}) + public static class CreateFromUsage extends AbstractQuickFixTest { + public void testAllFilesPresentInCreateFromUsage() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage"), Pattern.compile("^before(\\w+)\\.kt$"), true); + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/classObject") + public static class ClassObject extends AbstractQuickFixTest { + public void testAllFilesPresentInClassObject() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage/classObject"), Pattern.compile("^before(\\w+)\\.kt$"), true); + } + + @TestMetadata("beforeCreateClassObject1.kt") + public void testCreateClassObject1() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject1.kt"); + } + + @TestMetadata("beforeCreateClassObject2.kt") + public void testCreateClassObject2() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/classObject/beforeCreateClassObject2.kt"); + } + + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/component") + public static class Component extends AbstractQuickFixTest { + public void testAllFilesPresentInComponent() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage/component"), Pattern.compile("^before(\\w+)\\.kt$"), true); + } + + @TestMetadata("beforeCreateComponentFromUsage1.kt") + public void testCreateComponentFromUsage1() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage1.kt"); + } + + @TestMetadata("beforeCreateComponentFromUsage2.kt") + public void testCreateComponentFromUsage2() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/component/beforeCreateComponentFromUsage2.kt"); + } + + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/get") + public static class Get extends AbstractQuickFixTest { + public void testAllFilesPresentInGet() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage/get"), Pattern.compile("^before(\\w+)\\.kt$"), true); + } + + @TestMetadata("beforeCreateGetFromUsage1.kt") + public void testCreateGetFromUsage1() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage1.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage10.kt") + public void testCreateGetFromUsage10() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage10.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage11.kt") + public void testCreateGetFromUsage11() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage11.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage12.kt") + public void testCreateGetFromUsage12() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage12.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage13.kt") + public void testCreateGetFromUsage13() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage13.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage2.kt") + public void testCreateGetFromUsage2() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage2.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage3.kt") + public void testCreateGetFromUsage3() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage3.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage4.kt") + public void testCreateGetFromUsage4() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage4.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage5.kt") + public void testCreateGetFromUsage5() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage5.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage6.kt") + public void testCreateGetFromUsage6() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage6.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage7.kt") + public void testCreateGetFromUsage7() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage7.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage8.kt") + public void testCreateGetFromUsage8() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage8.kt"); + } + + @TestMetadata("beforeCreateGetFromUsage9.kt") + public void testCreateGetFromUsage9() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/get/beforeCreateGetFromUsage9.kt"); + } + + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/hasNext") + public static class HasNext extends AbstractQuickFixTest { + public void testAllFilesPresentInHasNext() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage/hasNext"), Pattern.compile("^before(\\w+)\\.kt$"), true); + } + + @TestMetadata("beforeCreateHasNextFromUsage1.kt") + public void testCreateHasNextFromUsage1() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage1.kt"); + } + + @TestMetadata("beforeCreateHasNextFromUsage2.kt") + public void testCreateHasNextFromUsage2() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/hasNext/beforeCreateHasNextFromUsage2.kt"); + } + + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/iterator") + public static class Iterator extends AbstractQuickFixTest { + public void testAllFilesPresentInIterator() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage/iterator"), Pattern.compile("^before(\\w+)\\.kt$"), true); + } + + @TestMetadata("beforeCreateIteratorFromUsage1.kt") + public void testCreateIteratorFromUsage1() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage1.kt"); + } + + @TestMetadata("beforeCreateIteratorFromUsage2.kt") + public void testCreateIteratorFromUsage2() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/iterator/beforeCreateIteratorFromUsage2.kt"); + } + + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/next") + public static class Next extends AbstractQuickFixTest { + public void testAllFilesPresentInNext() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage/next"), Pattern.compile("^before(\\w+)\\.kt$"), true); + } + + @TestMetadata("beforeCreateNextFromUsage1.kt") + public void testCreateNextFromUsage1() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage1.kt"); + } + + @TestMetadata("beforeCreateNextFromUsage2.kt") + public void testCreateNextFromUsage2() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/next/beforeCreateNextFromUsage2.kt"); + } + + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/set") + public static class Set extends AbstractQuickFixTest { + public void testAllFilesPresentInSet() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/createFromUsage/set"), Pattern.compile("^before(\\w+)\\.kt$"), true); + } + + @TestMetadata("beforeCreateSetFromUsage1.kt") + public void testCreateSetFromUsage1() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage1.kt"); + } + + @TestMetadata("beforeCreateSetFromUsage2.kt") + public void testCreateSetFromUsage2() throws Exception { + doTest("idea/testData/quickfix/createFromUsage/set/beforeCreateSetFromUsage2.kt"); + } + + } + + public static Test innerSuite() { + TestSuite suite = new TestSuite("CreateFromUsage"); + suite.addTestSuite(CreateFromUsage.class); + suite.addTestSuite(ClassObject.class); + suite.addTestSuite(Component.class); + suite.addTestSuite(Get.class); + suite.addTestSuite(HasNext.class); + suite.addTestSuite(Iterator.class); + suite.addTestSuite(Next.class); + suite.addTestSuite(Set.class); + return suite; + } + } + @TestMetadata("idea/testData/quickfix/expressions") public static class Expressions extends AbstractQuickFixTest { public void testAllFilesPresentInExpressions() throws Exception { @@ -1501,6 +1706,7 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { suite.addTestSuite(AutoImports.class); suite.addTestSuite(ChangeSignature.class); suite.addTestSuite(CheckArguments.class); + suite.addTest(CreateFromUsage.innerSuite()); suite.addTestSuite(Expressions.class); suite.addTestSuite(Migration.class); suite.addTest(Modifiers.innerSuite());