EMMA Coverage Report (generated Fri Jul 28 01:51:09 CEST 2006)
[all classes][org.jtiger.framework]

COVERAGE SUMMARY FOR SOURCE FILE [FixturesRunnerConfigFactory.java]

nameclass, %method, %block, %line, %
FixturesRunnerConfigFactory.java100% (2/2)100% (11/11)100% (204/204)100% (44/44)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class FixturesRunnerConfigFactory100% (1/1)100% (2/2)100% (18/18)100% (5/5)
FixturesRunnerConfigFactory (): void 100% (1/1)100% (3/3)100% (2/2)
newFixturesRunnerConfig (ReadOnlyArray, Class, Class, boolean, String []): Fi... 100% (1/1)100% (15/15)100% (3/3)
     
class FixturesRunnerConfigFactory$FixturesRunnerConfigImpl100% (1/1)100% (9/9)100% (186/186)100% (39/39)
FixturesRunnerConfigFactory$FixturesRunnerConfigImpl (ReadOnlyArray, Class, C... 100% (1/1)100% (19/19)100% (7/7)
equals (Object): boolean 100% (1/1)100% (47/47)100% (6/6)
getCategories (): ReadOnlyArray 100% (1/1)100% (3/3)100% (1/1)
getDefinitionClass (): Class 100% (1/1)100% (3/3)100% (1/1)
getFixtureClasses (): ReadOnlyArray 100% (1/1)100% (3/3)100% (1/1)
getSutdClass (): Class 100% (1/1)100% (3/3)100% (1/1)
hashCode (): int 100% (1/1)100% (49/49)100% (8/8)
isHaltOnFailure (): boolean 100% (1/1)100% (3/3)100% (1/1)
toString (): String 100% (1/1)100% (56/56)100% (13/13)

1/*
2 * JTiger Unit Testing Framework for J2SE 1.5
3 * Copyright (C) 2005 Tony Morris
4 *
5 * This software is licenced under the
6 * Common Public Licence version 1.0
7 * http://www.opensource.org/licenses/cpl1.0.php
8 *
9 * You received a copy of this licence with this software.
10 */
11package org.jtiger.framework;
12 
13import static org.jtiger.framework.SequenceFactory.newSequence;
14 
15/**
16 * Returns instances of {@link FixturesRunnerConfig}.
17 *
18 * @see FixturesRunnerConfig
19 * @author %javadoc.author.tag%
20 * @version %version%<br/>
21 *          <i>Build Number %build.number%</i><br/>
22 *          <i>Build Time %build.time% CET (GMT + 1)</i>
23 */
24public final class FixturesRunnerConfigFactory
25{
26    private FixturesRunnerConfigFactory()
27    {
28 
29    }
30 
31    /**
32     * Returns a new instance of {@link FixturesRunnerConfig}.
33     *
34     * @param fixtureClasses The test fixture classes.
35     * @param definitionClass The test definition class (may be <code>null</code>).
36     * @param sutdClass The test fixture set up and tear down class (may be <code>null</code>).
37     * @param haltOnFailure Halt failure on test case execution failure.
38     * @param categories The regular expressions representing the categories to execute during the test run.
39     * @return A new instance of {@link FixturesRunnerConfig}.
40     * @throws NullPointerException If <code>categories</code> is <code>null</code>. 
41     */
42    public static FixturesRunnerConfig newFixturesRunnerConfig(final ReadOnlyArray<Class<?>> fixtureClasses,
43                                  final Class<? extends TestDefinition> definitionClass,
44                                  final Class<? extends SetUpTearDown> sutdClass,
45                                  final boolean haltOnFailure,
46                                  final String... categories) throws NullPointerException
47    {
48        if(categories == null)
49        {
50            throw new NullPointerException();
51        }
52 
53        return new FixturesRunnerConfigImpl(
54                fixtureClasses,
55                definitionClass,
56                sutdClass,
57                haltOnFailure,
58                categories);
59    }
60 
61    private static final class FixturesRunnerConfigImpl implements FixturesRunnerConfig
62    {
63        private static final long serialVersionUID = 2L;
64 
65        private final ReadOnlyArray<Class<?>> fixtureClasses;
66        private final Class<? extends TestDefinition> definitionClass;
67        private final Class<? extends SetUpTearDown> sutdClass;
68        private final boolean haltOnFailure;
69        private final ReadOnlyArray<String> categories;
70 
71        FixturesRunnerConfigImpl(final ReadOnlyArray<Class<?>> fixtureClasses,
72                                  final Class<? extends TestDefinition> definitionClass,
73                                  final Class<? extends SetUpTearDown> sutdClass,
74                                  final boolean haltOnFailure,
75                                  final String... categories)
76        {
77            this.fixtureClasses = fixtureClasses;
78            this.definitionClass = definitionClass;
79            this.sutdClass = sutdClass;
80            this.haltOnFailure = haltOnFailure;
81            this.categories = newSequence(categories);
82        }
83 
84        public ReadOnlyArray<Class<?>> getFixtureClasses()
85        {
86            return fixtureClasses;
87        }
88 
89        public Class<? extends TestDefinition> getDefinitionClass()
90        {
91            return definitionClass;
92        }
93 
94        public Class<? extends SetUpTearDown> getSutdClass()
95        {
96            return sutdClass;
97        }
98 
99        public boolean isHaltOnFailure()
100        {
101            return haltOnFailure;
102        }
103 
104        public ReadOnlyArray<String> getCategories()
105        {
106            return categories;
107        }
108 
109        @Override
110        public String toString()
111        {
112            final StringBuilder sb = new StringBuilder();
113 
114            sb.append('[');
115            sb.append(fixtureClasses);
116            sb.append("][");
117            sb.append(definitionClass);
118            sb.append("][");
119            sb.append(sutdClass);
120            sb.append("][");
121            sb.append(haltOnFailure);
122            sb.append("][");
123            sb.append(categories);
124            sb.append(']');
125 
126            return sb.toString();
127        }
128 
129        @Override
130        public boolean equals(final Object o)
131        {
132            if(this == o)
133            {
134                return true;
135            }
136 
137            if(o == null || o.getClass() != FixturesRunnerConfigImpl.class)
138            {
139                return false;
140            }
141 
142            final FixturesRunnerConfigImpl p = (FixturesRunnerConfigImpl)o;
143 
144            return fixtureClasses.equals(p.fixtureClasses) &&
145                    definitionClass == p.definitionClass &&
146                    sutdClass == p.sutdClass &&
147                    haltOnFailure == p.haltOnFailure &&
148                    categories.equals(p.categories);
149        }
150 
151        @Override
152        public int hashCode()
153        {
154            final int oddPrime = 461;
155            int result = 73;
156 
157            result = result * oddPrime + fixtureClasses.hashCode();
158            result = result * oddPrime + definitionClass.hashCode();
159            result = result * oddPrime + sutdClass.hashCode();
160            result = result * oddPrime + (haltOnFailure ? 1 : 0);
161            result = result * oddPrime + categories.hashCode();
162 
163            return result;
164        }
165    }
166}

[all classes][org.jtiger.framework]
EMMA 2.0.5312 (C) Vladimir Roubtsov