18
18
import org.gmetrics.test.AbstractTestCase
19
19
import org.gmetrics.metric.abc.AbcMetric
20
20
import org.gmetrics.metric.StubMetric
21
import org.gmetrics.metricregistry.MetricRegistryHolder
22
import org.gmetrics.metricregistry.MetricRegistry
23
import org.gmetrics.metric.crap.CrapMetric
23
26
* Tests for MetricSetBuilder
25
28
* @author Chris Mair
26
* @version $Revision: 103 $ - $Date: 2010-05-31 17:15:42 -0400 (Mon, 31 May 2010) $
28
30
class MetricSetBuilderTest extends AbstractTestCase {
30
32
private metricSetBuilder
34
private originalMetricRegistry
32
36
void testMetricset_NullFilename() {
33
37
log(metricSetBuilder)
56
60
assertMetricProperties('NewName', [otherProperty:'888'])
63
void testMetricset_GroovyFile_NestedMetricDefinitionNotIncludedInMetricSet() {
64
metricSetBuilder.metricset {
65
metricset(MetricSetTestFiles.METRICSET1) {
71
assertMetricNames('Stub', 'XXX')
59
74
void testMetricset_GroovyFile_ConfigureMetricUsingMap_MetricNotFound() {
60
75
shouldFailWithMessageContaining('NotFound') {
61
76
metricSetBuilder.metricset {
97
112
assertMetricNames('Stub', 'XXX')
115
void testMetric_Class_Map() {
116
metricSetBuilder.metricset {
117
newMetric = metric(AbcMetric, [enabled:false])
119
assertMetricNames('ABC')
120
assert !findMetric('ABC').enabled
121
assert newMetric instanceof AbcMetric
100
124
void testMetric_Class_NoClosure() {
101
125
metricSetBuilder.metricset {
126
newMetric = metric(AbcMetric)
104
128
assertMetricNames('ABC')
129
assert newMetric instanceof AbcMetric
107
132
void testMetric_Class_NoClosure_NullMetricClass() {
184
void testMetric_MetricName_EmptyParentheses() {
185
metricSetBuilder.metricset {
188
assertMetricNames('ABC')
189
assert newMetric instanceof AbcMetric
192
void testMetric_MetricName_ParenthesesWithMap() {
193
metricSetBuilder.metricset {
194
newMetric = ABC([enabled:false])
196
assertMetricNames('ABC')
197
assert !findMetric('ABC').enabled
198
assert newMetric instanceof AbcMetric
201
void testMetric_MetricName_NoParenthesesWithClosure() {
202
metricSetBuilder.metricset {
207
assertMetricNames('ABC')
208
assert !findMetric('ABC').enabled
209
assert newMetric instanceof AbcMetric
212
void testMetric_NestedMetricDefinitionUsingMetric_NotIncludedInMetricSet() {
213
metricSetBuilder.metricset {
215
coverageMetric = metric(StubMetric)
218
assertMetricNames('CRAP')
221
void testMetric_NestedMetricDefinitionUsingMetricWithMap_NotIncludedInMetricSet() {
222
metricSetBuilder.metricset {
224
coverageMetric = metric(StubMetric, [name:'yyyy'])
227
assertMetricNames('CRAP')
230
void testMetric_NestedMetricDefinitionUsingMetricWithClosure_NotIncludedInMetricSet() {
231
metricSetBuilder.metricset {
233
coverageMetric = metric(StubMetric) {
235
otherProperty = '1234'
239
assertMetricNames('CRAP')
242
void testMetric_NestedMetricDefinition_AssignNestedMetricWithinMap_KnownLimitation() {
243
metricSetBuilder.metricset {
244
CRAP(coverageMetric:ABC)
246
// Known limitation *****
247
assertMetricNames('ABC', 'CRAP')
250
void testMetric_NestedMetricDefinitionUsingMetricNameWithClosure_NotIncludedInMetricSet() {
251
metricSetBuilder.metricset {
253
coverageMetric = ABC {
258
assertMetricNames('CRAP')
261
void testMetric_NestedMetricDefinitionUsingMetricNameWithMap_IsIncludedInMetricSet() {
262
metricSetBuilder.metricset {
263
CRAP([coverageMetric: ABC(enabled:false)])
265
assertMetricNames('ABC', 'CRAP')
268
void testMetric_MetricName_NoParenthesesOrClosure() {
269
metricSetBuilder.metricset {
272
assertMetricNames('ABC')
273
assert newMetric instanceof AbcMetric
276
void testMetric_MetricName_NoSuchMetricName() {
277
MetricRegistryHolder.metricRegistry = [getMetricClass:{ null }] as MetricRegistry
278
shouldFailWithMessageContaining('DoesNotExist') {
279
metricSetBuilder.metricset {
158
285
void testDescription() {
159
286
metricSetBuilder.metricset {
160
287
description 'abc'
291
//------------------------------------------------------------------------------------
292
// Setup and helper methods
293
//------------------------------------------------------------------------------------
166
298
metricSetBuilder = new MetricSetBuilder()
299
final METRICS = [CRAP:CrapMetric, ABC:AbcMetric]
300
originalMetricRegistry = MetricRegistryHolder.metricRegistry
301
MetricRegistryHolder.metricRegistry = [getMetricClass:{ name -> METRICS[name] }] as MetricRegistry
305
protected void tearDown() {
307
MetricRegistryHolder.metricRegistry = originalMetricRegistry
169
310
private MetricSet getMetricSet() {