Hey y'all,
I am somehow annoyed with the categories we can find in various test cases. It gets sometimes messy, confusing, and some categories with the same meaning can have many forms. Writing a snippet in the workspace (see code below) revealed it wasn't as bad as I have first anticipated (see output below). Snippet is ran against community trunk + tests. My opinion is that every little bit counts and we would all benefit if we can inject some form of uniformity. How about defining some standard naming for categories in the basic image? Against? For? Ideas and suggestions? Oh! By the way, the most popular category of all time is.... (rolling drums)... as yet unclassified ! Ouch. =) Ian. | total tests categories | total := 0. categories := Dictionary new. tests := TestCase allSubclasses. tests do: [:each | each organization categories do: [:category | total := total + 1. categories at: category put: ((categories at: category ifAbsentPut: [0]) + 1)] ]. Transcript show: 'TestCases: ', tests size printString; cr; show: 'Total categories: ', total printString; cr; show: 'Total categories without duplicates: ', categories size printString; cr. categories keysAndValuesDo: [:k :v | Transcript show: k asString, ' : ', v printString; cr]. ^categories. Output in my transcript: TestCases: 235 Total categories: 554 Total categories without duplicates: 167 *monticello-mocks : 1 Coverage : 12 Event Notifications : 2 Events-Classes : 1 Events-Expression : 1 Events-General : 1 Events-Instance Variables : 1 Events-Methods : 1 IEEE 754 : 1 NaN behavior : 1 Not categorized : 2 Private : 7 Private-Generation : 1 Running : 15 Sunit original tests : 1 Testing : 2 Testing-Classes : 1 Testing-Expression : 1 Testing-Instance Variables : 1 Testing-Methods : 1 Testing-system triggers : 1 Tests : 12 accessing - defaults : 1 accessing : 7 actions : 3 as yet unclassified : 41 asserting : 12 association tests : 1 basic : 1 basic tests : 3 bugs : 1 building : 5 comparing : 1 compiling : 1 constants : 4 coverage : 1 create/delete tests : 1 data : 2 emulating : 1 events : 1 example module : 2 examples : 6 existence tests : 1 finalization handling : 1 helper : 1 helpers : 2 implementation tests : 1 infinity behavior : 1 initialize : 1 initialize-release : 14 keys and value tests : 1 miscellaneous : 1 mocks : 3 morphic : 1 no messages : 5 not categorized : 2 primitives : 1 private : 15 reading : 1 real tests : 1 resources : 1 running : 39 running file : 1 running parsing : 1 running resolving : 1 running-broadcast query : 2 running-copying : 1 running-dependent action : 2 running-dependent action supplied arguments : 2 running-dependent value : 2 running-remove actions : 2 selecting : 1 setUp : 1 setUp-tearDown : 1 setup : 6 simulating : 1 support : 5 test : 4 test methods : 2 test subjects : 1 test support : 1 test-comparing : 1 testing - Class Methods : 2 testing - arithmetic : 3 testing - basic : 1 testing - bugs : 1 testing - classification : 1 testing - classside : 1 testing - compiling : 1 testing - conversion : 1 testing - converting : 1 testing - etoys : 1 testing - examples : 1 testing - initialization : 1 testing - instance creation : 1 testing - into/outOf World : 1 testing - printing : 1 testing - testing : 3 testing - tokenizing : 1 testing : 65 testing-ExceptionTester : 1 testing-applying trait composition : 2 testing-basic : 1 testing-compiled : 1 testing-compiler : 1 testing-enquiries : 1 testing-finding : 1 testing-limits : 1 testing-method : 1 testing-outer : 1 testing-pragma : 1 testing-primitives : 1 testing-printing : 1 testing-printing-reformating : 1 tests - Class Methods : 1 tests - Float : 2 tests - Integer : 2 tests - accessing : 8 tests - arithmetic : 2 tests - back : 1 tests - basic : 1 tests - benchmarks : 1 tests - bitLogic : 1 tests - bits : 1 tests - character writing : 1 tests - colors : 1 tests - converting : 3 tests - copying : 3 tests - debugging : 1 tests - decoding : 1 tests - decompiling : 1 tests - enumerating : 1 tests - evaluating : 2 tests - indexOf : 1 tests - instance creation : 4 tests - positioning : 2 tests - positionning : 1 tests - printing : 4 tests - public methods : 1 tests - sinuses : 1 tests - substrings : 1 tests - testing : 7 tests : 73 tests-MatrixTransform2x3 : 1 tests-ShortIntegerArray : 1 tests-ShortPointArray : 1 tests-ShortRunArray : 1 tests-WordArray : 1 tests-button : 1 tests-input : 1 tests-lists : 1 tests-menus : 1 tests-misc : 1 tests-not applicable : 1 tests-panel : 1 tests-text : 1 tests-trees : 1 tests-window : 2 testsAccessing : 1 testsAdding : 1 testsCopying : 1 testsEnumerating : 1 testsRemoving : 1 utilities : 5 utility : 2 utils : 1 zero behavior : 1 -- http://mecenia.blogspot.com/ |
Ian Trudel wrote:
> Hey y'all, > > I am somehow annoyed with the categories we can find in various test > cases. It gets sometimes messy, confusing, and some categories with > the same meaning can have many forms. Writing a snippet in the > workspace (see code below) revealed it wasn't as bad as I have first > anticipated (see output below). Snippet is ran against community trunk > + tests. > > My opinion is that every little bit counts and we would all benefit if > we can inject some form of uniformity. How about defining some > standard naming for categories in the basic image? Against? For? Ideas > and suggestions? > > Oh! By the way, the most popular category of all time is.... (rolling > drums)... as yet unclassified ! > > Ouch. =) > > Ian. > Keith |
2009/7/12 Keith Hodges <[hidden email]>:
> You could use the automatic categorizer in OmniBrowser That's not really what I meant here... These things are part of what makes Smalltalk "self documenting" code. The idea would be to define a standard naming, rename categories accordingly and stick to it. Then commit to tests repository. > http://squeakboard.wordpress.com/2009/07/02/a-new-community-development-model/ > * If in doubt, ask. It was rather a call for opinion... but you're telling me OmniBrowser does that perfectly and nobody ever thought to run it and make it part of the current (or even your 3.11) release? Or did I get it all wrong? :) Ian. -- http://mecenia.blogspot.com/ |
Ian Trudel wrote:
> 2009/7/12 Keith Hodges <[hidden email]>: > >> You could use the automatic categorizer in OmniBrowser >> > > That's not really what I meant here... > > These things are part of what makes Smalltalk "self documenting" code. > The idea would be to define a standard naming, rename categories > accordingly and stick to it. Then commit to tests repository. > > >> http://squeakboard.wordpress.com/2009/07/02/a-new-community-development-model/ >> * If in doubt, ask. >> > > It was rather a call for opinion... but you're telling me OmniBrowser > does that perfectly and nobody ever thought to run it and make it part > of the current (or even your 3.11) release? Or did I get it all wrong? > :) > > Ian use Omnibrowser so I wouldnt know what to do with it. Keith |
Free forum by Nabble | Edit this page |