[squeak-dev] Method categories in test cases

Ian Trudel ian.trudel at gmail.com
Mon Jul 13 02:24:01 UTC 2009


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/



More information about the Squeak-dev mailing list