diff --git a/SmartTest.package/CompiledMethod.extension/instance/asTestCase.st b/SmartTest.package/CompiledMethod.extension/instance/asTestCase.st new file mode 100644 index 0000000..c8d97c0 --- /dev/null +++ b/SmartTest.package/CompiledMethod.extension/instance/asTestCase.st @@ -0,0 +1,3 @@ +*SmartTest +asTestCase + ^ self methodClass selector: self selector \ No newline at end of file diff --git a/SmartTest.package/RGMethodDefinition.extension/instance/isInitializer.st b/SmartTest.package/RGMethodDefinition.extension/instance/isInitializer.st new file mode 100644 index 0000000..2af1669 --- /dev/null +++ b/SmartTest.package/RGMethodDefinition.extension/instance/isInitializer.st @@ -0,0 +1,3 @@ +*SmartTest +isInitializer + ^ self selector = #initialize \ No newline at end of file diff --git a/SmartTest.package/RGMethodDefinition.extension/instance/senders.st b/SmartTest.package/RGMethodDefinition.extension/instance/senders.st new file mode 100644 index 0000000..d224b7c --- /dev/null +++ b/SmartTest.package/RGMethodDefinition.extension/instance/senders.st @@ -0,0 +1,3 @@ +*SmartTest +senders + ^ SystemNavigation default allSendersOf: self selector \ No newline at end of file diff --git a/SmartTest.package/RGMethodDefinition.extension/properties.json b/SmartTest.package/RGMethodDefinition.extension/properties.json new file mode 100644 index 0000000..0bcc002 --- /dev/null +++ b/SmartTest.package/RGMethodDefinition.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "RGMethodDefinition" +} \ No newline at end of file diff --git a/SmartTest.package/SmTAnnouncer.class/class/shouldAnnounce.st b/SmartTest.package/SmTAnnouncer.class/class/shouldAnnounce.st new file mode 100644 index 0000000..0596a28 --- /dev/null +++ b/SmartTest.package/SmTAnnouncer.class/class/shouldAnnounce.st @@ -0,0 +1,3 @@ +accessing +shouldAnnounce + ^ SmTTestListener activated \ No newline at end of file diff --git a/SmartTest.package/SmTBigButtonCollector.class/instance/methodModified..st b/SmartTest.package/SmTBigButtonCollector.class/instance/methodModified..st index 391d46f..1e8e28c 100644 --- a/SmartTest.package/SmTBigButtonCollector.class/instance/methodModified..st +++ b/SmartTest.package/SmTBigButtonCollector.class/instance/methodModified..st @@ -1,7 +1,7 @@ accessing methodModified: anAnnouncement | listOfTest | - listOfTest := (SmTRules finder new methodsFor: anAnnouncement newMethod). + listOfTest := (SmTRules testFinder findTestsForMethod: anAnnouncement newMethod) collect: #methodReference. self collector addAll: listOfTest. self updateUIAfterAddingMethod: listOfTest. \ No newline at end of file diff --git a/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod1ToBuildCache.st b/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod1ToBuildCache.st index a18c0b9..3048846 100644 --- a/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod1ToBuildCache.st +++ b/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod1ToBuildCache.st @@ -5,7 +5,7 @@ testRunningTestMethod1ToBuildCache SmTClassTest run: #testMethod1. "Running the test fill the cache that is then no more empty but contains only the association between SmTClass>>method1 and SmTClassTest>>testMethod1" self assert: smartFinder cacheValues isNotEmpty. - self assert: smartFinder cacheValues size equals: 1. + self assert: smartFinder cacheValues size equals: 2. "Not sure about the format of the dictionnary." self diff --git a/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod2ToBuildCache.st b/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod2ToBuildCache.st index f0761de..cb72a4b 100644 --- a/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod2ToBuildCache.st +++ b/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod2ToBuildCache.st @@ -7,7 +7,7 @@ testRunningTestMethod2ToBuildCache self assert: smartFinder cacheValues isNotEmpty. self assert: smartFinder cacheValues size - equals: 4. + equals: 5. self assert: (smartFinder cacheValues diff --git a/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod5ToBuildCache.st b/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod5ToBuildCache.st new file mode 100644 index 0000000..e1a569c --- /dev/null +++ b/SmartTest.package/SmTCacheBuilderTest.class/instance/testRunningTestMethod5ToBuildCache.st @@ -0,0 +1,17 @@ +tests +testRunningTestMethod5ToBuildCache + "This test if SmTTestCoverage find the initialize call" + + + self assert: smartFinder cacheValues isEmpty. + SmTClassTest run: #testMethod5. + "Running the test fill the cache that is then no more empty but contains only the association between SmTClass>>method1 and SmTClassTest>>testMethod1" + self assert: smartFinder cacheValues isNotEmpty. + self assert: smartFinder cacheValues size equals: 2. + + self + assert: (smartFinder cacheValues at: (RGMethodDefinition className: 'SmTClass2' selector: #initialize isMetaSide: false)) + equals: {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod5 isMetaSide: false)} asSet. + self + assert: (smartFinder cacheValues at: (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod5 isMetaSide: false)) + equals: {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod5 isMetaSide: false)} asSet \ No newline at end of file diff --git a/SmartTest.package/SmTClass2.class/README.md b/SmartTest.package/SmTClass2.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/SmartTest.package/SmTClass2.class/instance/initialize.st b/SmartTest.package/SmTClass2.class/instance/initialize.st new file mode 100644 index 0000000..890d8b1 --- /dev/null +++ b/SmartTest.package/SmTClass2.class/instance/initialize.st @@ -0,0 +1,3 @@ +initialization +initialize + instVar1 := nil. \ No newline at end of file diff --git a/SmartTest.package/SmTClass2.class/properties.json b/SmartTest.package/SmTClass2.class/properties.json new file mode 100644 index 0000000..5d05d2a --- /dev/null +++ b/SmartTest.package/SmTClass2.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "", + "super" : "Object", + "category" : "SmartTest-Tests-Data", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "instVar1", + "instVar2" + ], + "name" : "SmTClass2", + "type" : "normal" +} \ No newline at end of file diff --git a/SmartTest.package/SmTClassTest.class/instance/testMethod5.st b/SmartTest.package/SmTClassTest.class/instance/testMethod5.st new file mode 100644 index 0000000..397ba21 --- /dev/null +++ b/SmartTest.package/SmTClassTest.class/instance/testMethod5.st @@ -0,0 +1,3 @@ +test data +testMethod5 + ^ SmTClass2 new. \ No newline at end of file diff --git a/SmartTest.package/SmTFinderAbstractTest.class/instance/setUp.st b/SmartTest.package/SmTFinderAbstractTest.class/instance/setUp.st index e34b15c..6756cab 100644 --- a/SmartTest.package/SmTFinderAbstractTest.class/instance/setUp.st +++ b/SmartTest.package/SmTFinderAbstractTest.class/instance/setUp.st @@ -6,4 +6,6 @@ setUp testMethod1 := RGMethodDefinition className: 'SmTClassTest' selector: #testMethod1 isMetaSide: false. testMethod2 := RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false. testMethod3 := RGMethodDefinition className: 'SmTClassTest' selector: #testMethod3 isMetaSide: false. - testMethod4 := RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false. \ No newline at end of file + testMethod4 := RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false. + testMethod5 := RGMethodDefinition className: 'SmTClassTest' selector: #testMethod5 isMetaSide: false. + testInheritedMethod1 := RGMethodDefinition className: 'SmTInheritClassTest' selector: #testMethod1 isMetaSide: false. \ No newline at end of file diff --git a/SmartTest.package/SmTFinderAbstractTest.class/instance/tearDown.st b/SmartTest.package/SmTFinderAbstractTest.class/instance/tearDown.st index 9b78467..0ac6ff3 100644 --- a/SmartTest.package/SmTFinderAbstractTest.class/instance/tearDown.st +++ b/SmartTest.package/SmTFinderAbstractTest.class/instance/tearDown.st @@ -1,5 +1,5 @@ -helpers +running tearDown - "rest the cache" + "reset the cache" smartFinder resetCache. super tearDown \ No newline at end of file diff --git a/SmartTest.package/SmTFinderAbstractTest.class/instance/testModificationOnInitialize.st b/SmartTest.package/SmTFinderAbstractTest.class/instance/testModificationOnInitialize.st new file mode 100644 index 0000000..515a06d --- /dev/null +++ b/SmartTest.package/SmTFinderAbstractTest.class/instance/testModificationOnInitialize.st @@ -0,0 +1,11 @@ +tests +testModificationOnInitialize + + | testsFound | + testsFound := self searchTestMethodsFor: SmTClass2 >> #initialize. + + self deny: (testsFound includes: testMethod1). + self deny: (testsFound includes: testMethod2). + self deny: (testsFound includes: testMethod3). + self deny: (testsFound includes: testMethod4). + self assert: (testsFound includes: testMethod5). \ No newline at end of file diff --git a/SmartTest.package/SmTFinderAbstractTest.class/instance/testModificationOnTest.st b/SmartTest.package/SmTFinderAbstractTest.class/instance/testModificationOnTest.st new file mode 100644 index 0000000..d5e8453 --- /dev/null +++ b/SmartTest.package/SmTFinderAbstractTest.class/instance/testModificationOnTest.st @@ -0,0 +1,10 @@ +tests +testModificationOnTest + + | testsFound | + testsFound := self searchTestMethodsFor: SmTClassTest >> #testMethod4. + + self deny: (testsFound includes: testMethod1). + self deny: (testsFound includes: testMethod2). + self deny: (testsFound includes: testMethod3). + self assert: (testsFound includes: testMethod4). \ No newline at end of file diff --git a/SmartTest.package/SmTFinderAbstractTest.class/instance/testStandardMethodSecondLevelSenders.st b/SmartTest.package/SmTFinderAbstractTest.class/instance/testStandardMethodSecondLevelSenders.st index b3664e5..7143739 100644 --- a/SmartTest.package/SmTFinderAbstractTest.class/instance/testStandardMethodSecondLevelSenders.st +++ b/SmartTest.package/SmTFinderAbstractTest.class/instance/testStandardMethodSecondLevelSenders.st @@ -6,5 +6,6 @@ testStandardMethodSecondLevelSenders self assert: (testsFound includes: testMethod1). self assert: (testsFound includes: testMethod2). + self assert: (testsFound includes: testInheritedMethod1). self deny: (testsFound includes: testMethod3). self deny: (testsFound includes: testMethod4). \ No newline at end of file diff --git a/SmartTest.package/SmTFinderAbstractTest.class/properties.json b/SmartTest.package/SmTFinderAbstractTest.class/properties.json index a5d6605..4237f5b 100644 --- a/SmartTest.package/SmTFinderAbstractTest.class/properties.json +++ b/SmartTest.package/SmTFinderAbstractTest.class/properties.json @@ -11,7 +11,9 @@ "testMethod2", "testMethod1", "testMethod3", - "testMethod4" + "testMethod4", + "testMethod5", + "testInheritedMethod1" ], "name" : "SmTFinderAbstractTest", "type" : "normal" diff --git a/SmartTest.package/SmTFinderStrategyReflectivityTest.class/instance/initCache.st b/SmartTest.package/SmTFinderStrategyReflectivityTest.class/instance/initCache.st index 1fd46bd..a60ab82 100644 --- a/SmartTest.package/SmTFinderStrategyReflectivityTest.class/instance/initCache.st +++ b/SmartTest.package/SmTFinderStrategyReflectivityTest.class/instance/initCache.st @@ -1,58 +1,23 @@ initialization initCache - ^ {((RGMethodDefinition - className: 'SmTClass' - selector: #method1 - isMetaSide: false) + ^ {((RGMethodDefinition className: 'SmTClass' selector: #method1 isMetaSide: false) -> - {(RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod1 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod2 - isMetaSide: false)} asSet). - ((RGMethodDefinition - className: 'SmTClass' - selector: #method2 - isMetaSide: false) + {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod1 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false). + (RGMethodDefinition className: 'SmTInheritClassTest' selector: #testMethod1 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClass' selector: #method2 isMetaSide: false) + -> {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClass' selector: #method3: isMetaSide: false) -> - {(RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod2 - isMetaSide: false)} asSet). - ((RGMethodDefinition - className: 'SmTClass' - selector: #method3: - isMetaSide: false) + {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod1 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod3 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClass' selector: #method4 isMetaSide: false) -> - {(RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod1 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod2 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod3 - isMetaSide: false)} asSet). - ((RGMethodDefinition - className: 'SmTClass' - selector: #method4 - isMetaSide: false) - -> - {(RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod2 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod3 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod4 - isMetaSide: false)} asSet)} asDictionary \ No newline at end of file + {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod3 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClass2' selector: #initialize isMetaSide: false) + -> {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod5 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false) + -> {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false)} asSet)} asDictionary \ No newline at end of file diff --git a/SmartTest.package/SmTInheritClassTest.class/README.md b/SmartTest.package/SmTInheritClassTest.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/SmartTest.package/SmTInheritClassTest.class/instance/setUp.st b/SmartTest.package/SmTInheritClassTest.class/instance/setUp.st new file mode 100644 index 0000000..fca3dac --- /dev/null +++ b/SmartTest.package/SmTInheritClassTest.class/instance/setUp.st @@ -0,0 +1,3 @@ +initialization +setUp + smTtestClass := SmTClass new \ No newline at end of file diff --git a/SmartTest.package/SmTInheritClassTest.class/properties.json b/SmartTest.package/SmTInheritClassTest.class/properties.json new file mode 100644 index 0000000..a59ce60 --- /dev/null +++ b/SmartTest.package/SmTInheritClassTest.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "SmTSuperClassTest", + "category" : "SmartTest-Tests-Data", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "SmTInheritClassTest", + "type" : "normal" +} \ No newline at end of file diff --git a/SmartTest.package/SmTListener.class/class/initialize.st b/SmartTest.package/SmTListener.class/class/initialize.st index 767e098..5b6c9dd 100644 --- a/SmartTest.package/SmTListener.class/class/initialize.st +++ b/SmartTest.package/SmTListener.class/class/initialize.st @@ -1,4 +1,3 @@ initialization initialize - self disable. - self enable \ No newline at end of file + self disable \ No newline at end of file diff --git a/SmartTest.package/SmTListener.class/instance/enable.st b/SmartTest.package/SmTListener.class/instance/enable.st index 3c21877..367529b 100644 --- a/SmartTest.package/SmTListener.class/instance/enable.st +++ b/SmartTest.package/SmTListener.class/instance/enable.st @@ -1,6 +1,2 @@ protocol enable - SystemAnnouncer uniqueInstance unsubscribe: self. - {(MethodModified -> #methodModified:). - (MethodAdded -> #methodAdded:)} - do: [ :pair | SystemAnnouncer uniqueInstance weak when: pair key send: pair value to: self ]. \ No newline at end of file diff --git a/SmartTest.package/SmTListener.class/instance/methodAdded..st b/SmartTest.package/SmTListener.class/instance/methodAdded..st deleted file mode 100644 index 737d73d..0000000 --- a/SmartTest.package/SmTListener.class/instance/methodAdded..st +++ /dev/null @@ -1,3 +0,0 @@ -announcement handling -methodAdded: anAnnouncement - self addToElementBag: anAnnouncement methodAdded. \ No newline at end of file diff --git a/SmartTest.package/SmTListener.class/instance/methodModified..st b/SmartTest.package/SmTListener.class/instance/methodModified..st deleted file mode 100644 index f2bc5e5..0000000 --- a/SmartTest.package/SmTListener.class/instance/methodModified..st +++ /dev/null @@ -1,3 +0,0 @@ -announcement handling -methodModified: anAnnouncement - self addToElementBag: anAnnouncement newMethod. \ No newline at end of file diff --git a/SmartTest.package/SmTReflectivityTestFinderStrategy.class/instance/buildCacheFromTestSuite..st b/SmartTest.package/SmTReflectivityTestFinderStrategy.class/instance/buildCacheFromTestSuite..st new file mode 100644 index 0000000..77049d9 --- /dev/null +++ b/SmartTest.package/SmTReflectivityTestFinderStrategy.class/instance/buildCacheFromTestSuite..st @@ -0,0 +1,4 @@ +api +buildCacheFromTestSuite: aTestSuite + aTestSuite flatCollectTests do: [ :aTestCase | self installProxyFor: aTestCase. aTestCase run ]. + MetaLink uninstallAll \ No newline at end of file diff --git a/SmartTest.package/SmTRules.class/class/fillCache.st b/SmartTest.package/SmTRules.class/class/fillCache.st new file mode 100644 index 0000000..40e803d --- /dev/null +++ b/SmartTest.package/SmTRules.class/class/fillCache.st @@ -0,0 +1,5 @@ +instance creation +fillCache + SmTSelectPackageBrowser openWithSmartFinder: self testFinder + + \ No newline at end of file diff --git a/SmartTest.package/SmTRules.class/class/settingsOn..st b/SmartTest.package/SmTRules.class/class/settingsOn..st index df77fbf..5e9d623 100644 --- a/SmartTest.package/SmTRules.class/class/settingsOn..st +++ b/SmartTest.package/SmTRules.class/class/settingsOn..st @@ -48,4 +48,15 @@ settingsOn: aBuilder label: 'Try to find for Dynamic '; description: 'When you click in a method, and have selected a Dynamix finder, we''''are updating the cache for it execution - (BETA)' ] \ No newline at end of file + (BETA)'. + (aBuilder group: #reset) + label: 'Fill cache'; + target: self; + parent: #SmartTest; + dialog: [ SimpleButtonMorph new + target: self; + label: 'Fill cache'; + actionSelector: #fillCache; + themeChanged; + yourself ]; + description: 'Fill the cache with selected package' ] \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/README.md b/SmartTest.package/SmTSelectPackageBrowser.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/class/openWithSmartFinder..st b/SmartTest.package/SmTSelectPackageBrowser.class/class/openWithSmartFinder..st new file mode 100644 index 0000000..b027377 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/class/openWithSmartFinder..st @@ -0,0 +1,6 @@ +as yet unclassified +openWithSmartFinder: aSmartFinder + self new + smartFinder: aSmartFinder; + items: RPackageOrganizer default packages; + openWithSpec \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/addAllItems.st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/addAllItems.st new file mode 100644 index 0000000..d442fcb --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/addAllItems.st @@ -0,0 +1,8 @@ +api +addAllItems + | tmp | + tmp := self sort: selectedModel listItems withAll: toSelectModel listItems. + selectedModel items: tmp. + toSelectModel items: #(). + toSelectModel updateList. + selectedModel updateList \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/addItems.st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/addItems.st new file mode 100644 index 0000000..9130793 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/addItems.st @@ -0,0 +1,8 @@ +accessing +addItems + toSelectModel selectedItems + ifNotNil: [ :items | + selectedModel items: (self sort: selectedModel listItems withAll: items). + toSelectModel items: (self sort: toSelectModel listItems withoutAll: items) ]. + toSelectModel updateList. + selectedModel updateList \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/createTestSuiteFrom..st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/createTestSuiteFrom..st new file mode 100644 index 0000000..e000a0f --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/createTestSuiteFrom..st @@ -0,0 +1,6 @@ +api +createTestSuiteFrom: listItem + | testSuite | + testSuite := TestSuite new. + testSuite addTests: ((listItem flatCollect: #methods) select: #isTestMethod thenCollect: #asTestCase). + ^ testSuite \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/initialize.st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/initialize.st new file mode 100644 index 0000000..f9cc3f2 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/initialize.st @@ -0,0 +1,13 @@ +initialization +initialize + | wrappingBlock testPackage | + super initialize. + toSelectModel := self instantiate: ListPresenter. + selectedModel := self instantiate: ListPresenter. + selectedModel beMultipleSelection. + toSelectModel beMultipleSelection. + wrappingBlock := [ :package | package packageName ]. + toSelectModel displayBlock: wrappingBlock. + selectedModel displayBlock: wrappingBlock. + testPackage := MCWorkingCopy allManagers reject: [ :package | '*Test*' match: package packageName ]. + toSelectModel items: (self sort: (toSelectModel listItems \ testPackage)) \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/nextAction.st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/nextAction.st new file mode 100644 index 0000000..8f8278d --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/nextAction.st @@ -0,0 +1,9 @@ +api +nextAction + | past testSuite | + testSuite := self createTestSuiteFrom: selectedModel listItems. + past := smartFinder smtFinder. + smartFinder smtFinder: SmTReflectivityTestFinderStrategy new. + smartFinder buildCacheFromTestSuite: testSuite. + smartFinder smtFinder: past. + self delete \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/removeAllItems.st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/removeAllItems.st new file mode 100644 index 0000000..b063120 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/removeAllItems.st @@ -0,0 +1,8 @@ +accessing +removeAllItems + | tmp | + tmp := self sort: toSelectModel listItems withAll: selectedModel listItems. + toSelectModel items: tmp. + selectedModel items: #(). + toSelectModel updateList. + selectedModel updateList \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/removeItems.st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/removeItems.st new file mode 100644 index 0000000..98920fc --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/removeItems.st @@ -0,0 +1,8 @@ +accessing +removeItems + selectedModel selectedItems + ifNotNil: [ :items | + toSelectModel items: (self sort: toSelectModel listItems withAll: items). + selectedModel items: (self sort: selectedModel listItems withoutAll: items) ]. + toSelectModel updateList. + selectedModel updateList \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/smartFinder..st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/smartFinder..st new file mode 100644 index 0000000..344b9d2 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/smartFinder..st @@ -0,0 +1,3 @@ +accessing +smartFinder: anObject + smartFinder := anObject \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/smartFinder.st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/smartFinder.st new file mode 100644 index 0000000..c5302f3 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/smartFinder.st @@ -0,0 +1,3 @@ +accessing +smartFinder + ^ smartFinder \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort..st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort..st new file mode 100644 index 0000000..1208739 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort..st @@ -0,0 +1,3 @@ +accessing +sort: aCollection + ^ aCollection asOrderedCollection sort: [:e1 :e2 | (e1 asString) < (e2 asString)]. \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort.withAll..st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort.withAll..st new file mode 100644 index 0000000..6690419 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort.withAll..st @@ -0,0 +1,7 @@ +accessing +sort: aCollection withAll: anotherCollection + ^ self + sort: + (aCollection asOrderedCollection + addAll: anotherCollection; + yourself) \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort.withoutAll..st b/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort.withoutAll..st new file mode 100644 index 0000000..560a365 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/instance/sort.withoutAll..st @@ -0,0 +1,7 @@ +accessing +sort: aCollection withoutAll: anotherCollection + ^ self + sort: + (aCollection asOrderedCollection + removeAll: anotherCollection; + yourself) \ No newline at end of file diff --git a/SmartTest.package/SmTSelectPackageBrowser.class/properties.json b/SmartTest.package/SmTSelectPackageBrowser.class/properties.json new file mode 100644 index 0000000..6565fd6 --- /dev/null +++ b/SmartTest.package/SmTSelectPackageBrowser.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "SelectBrowser", + "category" : "SmartTest-Tools", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "smartFinder" + ], + "name" : "SmTSelectPackageBrowser", + "type" : "normal" +} \ No newline at end of file diff --git a/SmartTest.package/SmTSenderTestFinderStrategy.class/instance/collectSenderOfRGMethodeDefintion..st b/SmartTest.package/SmTSenderTestFinderStrategy.class/instance/collectSenderOfRGMethodeDefintion..st new file mode 100644 index 0000000..c9067f8 --- /dev/null +++ b/SmartTest.package/SmTSenderTestFinderStrategy.class/instance/collectSenderOfRGMethodeDefintion..st @@ -0,0 +1,6 @@ +private - search +collectSenderOfRGMethodeDefintion: aRGMethodDefinition + ^ aRGMethodDefinition isInitializer + ifTrue: [ { SystemNavigation default allReferencesTo: aRGMethodDefinition methodClass binding. + aRGMethodDefinition senders} asSet flattened ] + ifFalse: [ aRGMethodDefinition senders ] \ No newline at end of file diff --git a/SmartTest.package/SmTSenderTestFinderStrategy.class/instance/recursiveSearchForAStandardMethod.withFilter.foundMethods..st b/SmartTest.package/SmTSenderTestFinderStrategy.class/instance/recursiveSearchForAStandardMethod.withFilter.foundMethods..st index 9c6b529..39aab00 100644 --- a/SmartTest.package/SmTSenderTestFinderStrategy.class/instance/recursiveSearchForAStandardMethod.withFilter.foundMethods..st +++ b/SmartTest.package/SmTSenderTestFinderStrategy.class/instance/recursiveSearchForAStandardMethod.withFilter.foundMethods..st @@ -1,6 +1,6 @@ private - search recursiveSearchForAStandardMethod: aRGMethodDefinition withFilter: aFilter foundMethods: aCollection - aRGMethodDefinition senders + (self collectSenderOfRGMethodeDefintion: aRGMethodDefinition) reject: [ :aSenderMethod | (aFilter shouldEntityBeFiltered: aSenderMethod) or: [ aCollection includes: aSenderMethod ] ] thenDo: [ :aSenderRGMethodDefinition | aCollection add: aSenderRGMethodDefinition. diff --git a/SmartTest.package/SmTSendersFinderTest.class/instance/testStandardMethodFirstLevelSenders.st b/SmartTest.package/SmTSendersFinderTest.class/instance/testStandardMethodSecondLevelSenders.st similarity index 56% rename from SmartTest.package/SmTSendersFinderTest.class/instance/testStandardMethodFirstLevelSenders.st rename to SmartTest.package/SmTSendersFinderTest.class/instance/testStandardMethodSecondLevelSenders.st index 56640b0..3039fef 100644 --- a/SmartTest.package/SmTSendersFinderTest.class/instance/testStandardMethodFirstLevelSenders.st +++ b/SmartTest.package/SmTSendersFinderTest.class/instance/testStandardMethodSecondLevelSenders.st @@ -1,10 +1,10 @@ initialization -testStandardMethodFirstLevelSenders +testStandardMethodSecondLevelSenders | testsFound | - testsFound := self searchTestMethodsFor: SmTClass >> #method2. - - self deny: (testsFound includes: testMethod1). + testsFound := self searchTestMethodsFor: SmTClass >> #method1. + + self assert: (testsFound includes: testMethod1). self assert: (testsFound includes: testMethod2). self deny: (testsFound includes: testMethod3). self deny: (testsFound includes: testMethod4). \ No newline at end of file diff --git a/SmartTest.package/SmTSendersFinderTestWithRestrictedPackage.class/instance/testModificationOnInitialize.st b/SmartTest.package/SmTSendersFinderTestWithRestrictedPackage.class/instance/testModificationOnInitialize.st new file mode 100644 index 0000000..33d1560 --- /dev/null +++ b/SmartTest.package/SmTSendersFinderTestWithRestrictedPackage.class/instance/testModificationOnInitialize.st @@ -0,0 +1,11 @@ +initialization +testModificationOnInitialize + + | testsFound | + testsFound := self searchTestMethodsFor: SmTClass2 >> #initialize. + + self deny: (testsFound includes: testMethod1). + self deny: (testsFound includes: testMethod2). + self deny: (testsFound includes: testMethod3). + self deny: (testsFound includes: testMethod4). + self assert: (testsFound includes: testMethod5). \ No newline at end of file diff --git a/SmartTest.package/SmTSendersFinderTestWithRestrictedPackage.class/instance/testStandardMethodSecondLevelSenders.st b/SmartTest.package/SmTSendersFinderTestWithRestrictedPackage.class/instance/testStandardMethodSecondLevelSenders.st index 0eb0f70..eccf737 100644 --- a/SmartTest.package/SmTSendersFinderTestWithRestrictedPackage.class/instance/testStandardMethodSecondLevelSenders.st +++ b/SmartTest.package/SmTSendersFinderTestWithRestrictedPackage.class/instance/testStandardMethodSecondLevelSenders.st @@ -1,12 +1,13 @@ initialization testStandardMethodSecondLevelSenders "In class, the research is limited to the SmartTest-Tests-Data package and is static. So the assertions are different. There should be only one test found that call the method2 message" - + | testsFound | testsFound := self searchTestMethodsFor: SmTClass >> #method1. - self assert: testsFound size equals: 2. - self assert: (testsFound includes: (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod1 isMetaSide: false)). - self assert: (testsFound includes: (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false)). - self deny: (testsFound includes: (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod3 isMetaSide: false)). - self deny: (testsFound includes: (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false)) \ No newline at end of file + self assert: testsFound size equals: 3. + self assert: (testsFound includes: testMethod1). + self assert: (testsFound includes: testMethod2). + self assert: (testsFound includes: testInheritedMethod1). + self deny: (testsFound includes: testMethod3). + self deny: (testsFound includes: testMethod4) \ No newline at end of file diff --git a/SmartTest.package/SmTSendersFinderTestWithoutCache.class/instance/tearDown.st b/SmartTest.package/SmTSendersFinderTestWithoutCache.class/instance/tearDown.st index 6c46c4c..9d91f52 100644 --- a/SmartTest.package/SmTSendersFinderTestWithoutCache.class/instance/tearDown.st +++ b/SmartTest.package/SmTSendersFinderTestWithoutCache.class/instance/tearDown.st @@ -1,4 +1,4 @@ initialization tearDown super tearDown. - smartFinder resetCache. \ No newline at end of file + smartFinder resetCache \ No newline at end of file diff --git a/SmartTest.package/SmTSuperClassTest.class/README.md b/SmartTest.package/SmTSuperClassTest.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/SmartTest.package/SmTSuperClassTest.class/class/isAbstract.st b/SmartTest.package/SmTSuperClassTest.class/class/isAbstract.st new file mode 100644 index 0000000..2abee4c --- /dev/null +++ b/SmartTest.package/SmTSuperClassTest.class/class/isAbstract.st @@ -0,0 +1,4 @@ +testing +isAbstract + + ^ self == SmTSuperClassTest \ No newline at end of file diff --git a/SmartTest.package/SmTSuperClassTest.class/instance/testMethod1.st b/SmartTest.package/SmTSuperClassTest.class/instance/testMethod1.st new file mode 100644 index 0000000..75af50c --- /dev/null +++ b/SmartTest.package/SmTSuperClassTest.class/instance/testMethod1.st @@ -0,0 +1,4 @@ +tests +testMethod1 + ^ smTtestClass method1 + \ No newline at end of file diff --git a/SmartTest.package/SmTSuperClassTest.class/properties.json b/SmartTest.package/SmTSuperClassTest.class/properties.json new file mode 100644 index 0000000..64a0d59 --- /dev/null +++ b/SmartTest.package/SmTSuperClassTest.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "TestCase", + "category" : "SmartTest-Tests-Data", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "smTtestClass" + ], + "name" : "SmTSuperClassTest", + "type" : "normal" +} \ No newline at end of file diff --git a/SmartTest.package/SmTTestCoverageFinderTest.class/instance/initCache.st b/SmartTest.package/SmTTestCoverageFinderTest.class/instance/initCache.st index 30d0e7e..a452c98 100644 --- a/SmartTest.package/SmTTestCoverageFinderTest.class/instance/initCache.st +++ b/SmartTest.package/SmTTestCoverageFinderTest.class/instance/initCache.st @@ -1,58 +1,23 @@ helpers initCache - ^ {((RGMethodDefinition - className: 'SmTClass' - selector: #method1 - isMetaSide: false) + ^ {((RGMethodDefinition className: 'SmTClass' selector: #method1 isMetaSide: false) -> - {(RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod1 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod2 - isMetaSide: false)} asSet). - ((RGMethodDefinition - className: 'SmTClass' - selector: #method2 - isMetaSide: false) + {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod1 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false). + (RGMethodDefinition className: 'SmTInheritClassTest' selector: #testMethod1 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClass' selector: #method2 isMetaSide: false) + -> {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClass' selector: #method3: isMetaSide: false) -> - {(RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod2 - isMetaSide: false)} asSet). - ((RGMethodDefinition - className: 'SmTClass' - selector: #method3: - isMetaSide: false) + {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod1 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod3 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClass' selector: #method4 isMetaSide: false) -> - {(RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod1 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod2 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod3 - isMetaSide: false)} asSet). - ((RGMethodDefinition - className: 'SmTClass' - selector: #method4 - isMetaSide: false) - -> - {(RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod2 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod3 - isMetaSide: false). - (RGMethodDefinition - className: 'SmTClassTest' - selector: #testMethod4 - isMetaSide: false)} asSet)} asDictionary \ No newline at end of file + {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod2 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod3 isMetaSide: false). + (RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClass2' selector: #initialize isMetaSide: false) + -> {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod5 isMetaSide: false)} asSet). + ((RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false) + -> {(RGMethodDefinition className: 'SmTClassTest' selector: #testMethod4 isMetaSide: false)} asSet)} asDictionary \ No newline at end of file diff --git a/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testCacheValue.st b/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testCacheValue.st deleted file mode 100644 index 4b5a2f0..0000000 --- a/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testCacheValue.st +++ /dev/null @@ -1,10 +0,0 @@ -helpers -testCacheValue - "reset the cache since the purpose of the test is to check that the cache is correctly built" - "self skip. - smartFinder resetCache. - self assert: smartFinder hasEmptyCache. - self searchTestMethodsFor: SmTClass >> #method4." - - - \ No newline at end of file diff --git a/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testModificationOnTest.st b/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testModificationOnTest.st new file mode 100644 index 0000000..601aa23 --- /dev/null +++ b/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testModificationOnTest.st @@ -0,0 +1,9 @@ +helpers +testModificationOnTest + + | testsFound | + testsFound := self searchTestMethodsFor: SmTClassTest >> #testMethod4. + self deny: (testsFound includes: testMethod1). + self deny: (testsFound includes: testMethod2). + self deny: (testsFound includes: testMethod3). + self assert: (testsFound includes: testMethod4) \ No newline at end of file diff --git a/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testTestSelfSelected.st b/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testTestSelfSelected.st new file mode 100644 index 0000000..505bf7b --- /dev/null +++ b/SmartTest.package/SmTTestCoverageFinderTest.class/instance/testTestSelfSelected.st @@ -0,0 +1,9 @@ +helpers +testTestSelfSelected + + | testsFound | + testsFound := self testsForATestMethod: SmTClassTest >> #testMethod1. + self assert: (testsFound includes: testMethod1). + self deny: (testsFound includes: testMethod2). + self deny: (testsFound includes: testMethod3). + self deny: (testsFound includes: testMethod4) \ No newline at end of file diff --git a/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/addATest.toMethodReference..st b/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/addATest.toMethodReference..st index 464d562..32bc102 100644 --- a/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/addATest.toMethodReference..st +++ b/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/addATest.toMethodReference..st @@ -1,4 +1,4 @@ adding addATest: aTestCase toMethodReference: aMethodReference (self testsForMethodReference: aMethodReference) - add: (aTestCase class >> aTestCase selector) methodReference \ No newline at end of file + add: aTestCase methodReference \ No newline at end of file diff --git a/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/buildCacheFromTestSuite..st b/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/buildCacheFromTestSuite..st index e4b1845..7b2adf3 100644 --- a/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/buildCacheFromTestSuite..st +++ b/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/buildCacheFromTestSuite..st @@ -11,17 +11,17 @@ sf buildCacheFromTestSuite: ts. sf cacheValues ] timeToRun " | listOfPackage methodToWrap | - aTestSuite. - listOfPackage := (aTestSuite tests flatCollect: [ :aTestCase | self class collectPackagesFromName: aTestCase class package name ]) asSet collect: #packageName. + listOfPackage := (aTestSuite flatCollectTests flatCollect: [ :aTestCase | self class collectPackagesFromName: aTestCase class package name ]) asSet collect: #packageName. methodToWrap := Set new. methodToWrap addAll: (self collectMethodToTestForPackagesNamed: listOfPackage). - methodToWrap addAll: (self collectClassToTestForPackagesNamed: listOfPackage). + "methodToWrap addAll: (self collectClassToTestForPackagesNamed: listOfPackage)." methodToWrap := methodToWrap intersection: self availableMethods. wrappers at: aTestSuite put: (methodToWrap asOrderedCollection collect: [ :each | (SmTTestCoverage on: each methodReference) finder: self ]). - (wrappers at: aTestSuite) do: [ :each | each install ] displayingProgress: [ :aClass | 'Installing ' , aClass asString ] every: 1. - aTestSuite tests - do: [ :aTest | - self currentTestExecution: aTest. - aTest run. + (wrappers at: aTestSuite) do: [ :each | each install ] "displayingProgress: [ :aClass | 'Installing ' , aClass asString ] every: 1". + aTestSuite flatCollectTests + do: [ :aTestCase | + self currentTestExecution: aTestCase. + self addATest: aTestCase toMethodReference: aTestCase methodReference. + aTestCase run. (wrappers at: aTestSuite) do: [ :each | each unmark ] ]. (wrappers at: aTestSuite) do: [ :each | each uninstall ] \ No newline at end of file diff --git a/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/installProxyFor..st b/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/installProxyFor..st index f15a2d1..38a29eb 100644 --- a/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/installProxyFor..st +++ b/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/installProxyFor..st @@ -2,8 +2,9 @@ api installProxyFor: aTestCase | methodToWrap listOfPackage | self currentTestExecution: aTestCase. + self addATest: aTestCase toMethodReference: aTestCase methodReference. listOfPackage := OrderedCollection new. - listOfPackage add: aTestCase compiledMethod package name. + listOfPackage add: aTestCase methodReference compiledMethod package name. methodToWrap := Set new. methodToWrap addAll: (self collectMethodToTestForPackagesNamed: listOfPackage). "methodToWrap addAll: (self collectClassToTestForPackagesNamed: listOfPackage)." diff --git a/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/testsForAStandardMethod..st b/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/testsForAStandardMethod..st index 39bc8fb..9b787ed 100644 --- a/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/testsForAStandardMethod..st +++ b/SmartTest.package/SmTTestCoverageTestFinderStrategy.class/instance/testsForAStandardMethod..st @@ -1,4 +1,4 @@ -API +api testsForAStandardMethod: aCompiledMethod self searchRelativeTestForMethod: aCompiledMethod. ^ self testsForMethod: aCompiledMethod \ No newline at end of file diff --git a/SmartTest.package/SmTTestFinderStrategy.class/instance/methodsFor..st b/SmartTest.package/SmTTestFinderStrategy.class/instance/methodsFor..st index 3c444c8..42cd86f 100644 --- a/SmartTest.package/SmTTestFinderStrategy.class/instance/methodsFor..st +++ b/SmartTest.package/SmTTestFinderStrategy.class/instance/methodsFor..st @@ -3,8 +3,7 @@ methodsFor: aCompiledMethod | finalFoundMethod | ^ self cache at: aCompiledMethod methodReference - ifAbsent: [ - #(testsForATestMethod: testsForASetUpMethod: testsForATearDownMethod: testsForAStandardMethod:) + ifAbsent: [ #(testsForATestMethod: testsForASetUpMethod: testsForATearDownMethod: testsForAStandardMethod:) do: [ :heuristic | | methods | methods := [ self perform: heuristic with: aCompiledMethod ] diff --git a/SmartTest.package/SmTTestListener.class/class/activated..st b/SmartTest.package/SmTTestListener.class/class/activated..st index 8d749ac..16dbb4b 100644 --- a/SmartTest.package/SmTTestListener.class/class/activated..st +++ b/SmartTest.package/SmTTestListener.class/class/activated..st @@ -1,4 +1,4 @@ accessing activated: aSelector activated := aSelector. - self uniqueInstance activated: aSelector \ No newline at end of file + self uniqueInstance activated: aSelector \ No newline at end of file diff --git a/SmartTest.package/SmTTestListener.class/class/activated.st b/SmartTest.package/SmTTestListener.class/class/activated.st index 0a3a43a..7f03b2d 100644 --- a/SmartTest.package/SmTTestListener.class/class/activated.st +++ b/SmartTest.package/SmTTestListener.class/class/activated.st @@ -1,3 +1,5 @@ accessing activated - ^ activated ifNil: [ activated := false. self uniqueInstance activated: false ] \ No newline at end of file + ^ activated + ifNil: [ activated := false. + self uniqueInstance activated: false ] \ No newline at end of file diff --git a/SmartTest.package/SmartFinder.class/instance/autoUpdateCache..st b/SmartTest.package/SmartFinder.class/instance/autoUpdateCache..st index 86b5b31..52f863c 100644 --- a/SmartTest.package/SmartFinder.class/instance/autoUpdateCache..st +++ b/SmartTest.package/SmartFinder.class/instance/autoUpdateCache..st @@ -2,4 +2,4 @@ accessing autoUpdateCache: aBoolean self smtListener cacheClass: self cacheClass. self smtListener smtDynamicFinder: self smtFinder. - self smtListener activated: aBoolean \ No newline at end of file + self smtListener class activated: aBoolean \ No newline at end of file diff --git a/SmartTest.package/SmartFinder.class/instance/smtListener.st b/SmartTest.package/SmartFinder.class/instance/smtListener.st index f22b385..cff0bdf 100644 --- a/SmartTest.package/SmartFinder.class/instance/smtListener.st +++ b/SmartTest.package/SmartFinder.class/instance/smtListener.st @@ -1,3 +1,3 @@ accessing smtListener - ^ SmTTestListener uniqueInstance \ No newline at end of file + ^ SmTTestListener uniqueInstance \ No newline at end of file diff --git a/SmartTest.package/TestAsserter.extension/instance/isTestSuite.st b/SmartTest.package/TestAsserter.extension/instance/isTestSuite.st new file mode 100644 index 0000000..a3f60f7 --- /dev/null +++ b/SmartTest.package/TestAsserter.extension/instance/isTestSuite.st @@ -0,0 +1,3 @@ +*SmartTest +isTestSuite + ^ false \ No newline at end of file diff --git a/SmartTest.package/TestAsserter.extension/properties.json b/SmartTest.package/TestAsserter.extension/properties.json new file mode 100644 index 0000000..1ee87cb --- /dev/null +++ b/SmartTest.package/TestAsserter.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "TestAsserter" +} \ No newline at end of file diff --git a/SmartTest.package/TestCase.extension/class/shouldAnnounce.st b/SmartTest.package/TestCase.extension/class/shouldAnnounce.st new file mode 100644 index 0000000..5d9bebe --- /dev/null +++ b/SmartTest.package/TestCase.extension/class/shouldAnnounce.st @@ -0,0 +1,3 @@ +*SmartTest +shouldAnnounce + ^ SmTAnnouncer shouldAnnounce \ No newline at end of file diff --git a/SmartTest.package/TestCase.extension/instance/announce.withResult..st b/SmartTest.package/TestCase.extension/instance/announce.withResult..st index 5a930bf..320f818 100644 --- a/SmartTest.package/TestCase.extension/instance/announce.withResult..st +++ b/SmartTest.package/TestCase.extension/instance/announce.withResult..st @@ -1,9 +1,11 @@ *SmartTest announce: anAnnouncementClass withResult: result | event | - + self shouldAnnounce + ifFalse: [ ^ self ]. + event := anAnnouncementClass asAnnouncement. event testCase: self. event testSelector: testSelector. event testResult: result. - self generalAnnouncer announce: event \ No newline at end of file + self generalAnnouncer announce: event \ No newline at end of file diff --git a/SmartTest.package/TestCase.extension/instance/compiledMethod.st b/SmartTest.package/TestCase.extension/instance/compiledMethod.st deleted file mode 100644 index b8d6819..0000000 --- a/SmartTest.package/TestCase.extension/instance/compiledMethod.st +++ /dev/null @@ -1,3 +0,0 @@ -*SmartTest -compiledMethod - ^ self class >> self selector \ No newline at end of file diff --git a/SmartTest.package/TestCase.extension/instance/methodReference.st b/SmartTest.package/TestCase.extension/instance/methodReference.st index dad0dfc..63b469a 100644 --- a/SmartTest.package/TestCase.extension/instance/methodReference.st +++ b/SmartTest.package/TestCase.extension/instance/methodReference.st @@ -1,3 +1,3 @@ *SmartTest methodReference - ^ self compiledMethod methodReference \ No newline at end of file + ^ RGMethodDefinition class: self class selector: self selector \ No newline at end of file diff --git a/SmartTest.package/TestSuite.extension/instance/flatCollectTests.st b/SmartTest.package/TestSuite.extension/instance/flatCollectTests.st new file mode 100644 index 0000000..b7487f9 --- /dev/null +++ b/SmartTest.package/TestSuite.extension/instance/flatCollectTests.st @@ -0,0 +1,9 @@ +*SmartTest +flatCollectTests + ^ tests + ifNil: [ ^ {} ] + ifNotNil: [ tests + flatCollect: [ :t | + t isTestSuite + ifTrue: [ t flatCollectTests ] + ifFalse: [ {t} ] ] ] \ No newline at end of file diff --git a/SmartTest.package/TestSuite.extension/instance/isTestSuite.st b/SmartTest.package/TestSuite.extension/instance/isTestSuite.st new file mode 100644 index 0000000..9e3e4f7 --- /dev/null +++ b/SmartTest.package/TestSuite.extension/instance/isTestSuite.st @@ -0,0 +1,3 @@ +*SmartTest +isTestSuite + ^ true \ No newline at end of file diff --git a/SmartTest.package/TestSuite.extension/properties.json b/SmartTest.package/TestSuite.extension/properties.json new file mode 100644 index 0000000..c8d279a --- /dev/null +++ b/SmartTest.package/TestSuite.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "TestSuite" +} \ No newline at end of file