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

COVERAGE SUMMARY FOR SOURCE FILE [OverallResultConverterFactory.java]

nameclass, %method, %block, %line, %
OverallResultConverterFactory.java100% (2/2)100% (7/7)100% (162/162)100% (37/37)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class OverallResultConverterFactory100% (1/1)100% (2/2)100% (7/7)100% (3/3)
OverallResultConverterFactory (): void 100% (1/1)100% (3/3)100% (2/2)
newOverallResultConverter (): OverallResultConverter 100% (1/1)100% (4/4)100% (1/1)
     
class OverallResultConverterFactory$OverallResultConverterImpl100% (1/1)100% (5/5)100% (155/155)100% (34/34)
OverallResultConverterFactory$OverallResultConverterImpl (): void 100% (1/1)100% (3/3)100% (2/2)
convertOverallResult (ReadOnlyArray): ReadOnlyArray 100% (1/1)100% (57/57)100% (10/10)
getElapsedTime (FixtureResults): String 100% (1/1)100% (36/36)100% (8/8)
getResult (FixtureResults): String 100% (1/1)100% (35/35)100% (8/8)
isAllDigits (String): boolean 100% (1/1)100% (24/24)100% (6/6)

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.report.html;
12 
13import static org.jtiger.framework.SequenceFactory.newSequence;
14import java.util.LinkedList;
15import java.util.List;
16import org.jtiger.framework.ReadOnlyArray;
17import org.jtiger.framework.TestResultType;
18import static org.jtiger.report.html.OverallResultFactory.newOverallResult;
19import static org.jtiger.report.html.ResultMappingFactory.newResultMapping;
20 
21final class OverallResultConverterFactory
22{
23    private static final String NA = "-";
24 
25    private OverallResultConverterFactory()
26    {
27 
28    }
29 
30    static OverallResultConverter newOverallResultConverter()
31    {
32        return new OverallResultConverterImpl();
33    }
34 
35    private static final class OverallResultConverterImpl implements OverallResultConverter
36    {
37        OverallResultConverterImpl()
38        {
39 
40        }
41 
42        public ReadOnlyArray<OverallResult> convertOverallResult(final ReadOnlyArray<FixtureResults> results)
43        {
44            final List<OverallResult> overallResults = new LinkedList<OverallResult>();
45 
46            for(FixtureResults result : results)
47            {
48                final String name = result.getName();
49                final String description = result.getDescription();
50                final String elapsedTime = getElapsedTime(result);
51                final String overallResult = getResult(result);
52 
53                final OverallResult or = newOverallResult(
54                        name,
55                        description == null || description.length() == 0 ? NA : description,
56                        elapsedTime == null ? NA : elapsedTime,
57                        overallResult);
58                overallResults.add(or);
59            }
60 
61            return newSequence(overallResults.toArray(new OverallResult[overallResults.size()]));
62        }
63 
64        private String getElapsedTime(final FixtureResults result)
65        {
66            boolean added = false;
67            long total = 0;
68 
69            for(TestResult tr : result.getTestResults())
70            {
71                if(isAllDigits(tr.getElapsedTime()))
72                {
73                    total += Long.parseLong(tr.getElapsedTime());
74                    added = true;
75                }
76            }
77 
78            return added ? String.valueOf(total) : null;
79        }
80 
81        private String getResult(final FixtureResults result)
82        {
83            TestResultType worstCase = TestResultType.values()[0];
84 
85            final ResultMapping mapping = newResultMapping();
86 
87            for(TestResult tr : result.getTestResults())
88            {
89                final TestResultType type = mapping.getResultMapping(tr.getResult());
90 
91                if(type != null && type.compareTo(worstCase) > 0)
92                {
93                    worstCase = type;
94                }
95            }
96 
97            return mapping.getResultMapping(worstCase);
98        }
99 
100        private boolean isAllDigits(final String s)
101        {
102            if(s == null || s.length() == 0)
103            {
104                return false;
105            }
106 
107            for(int i = 0; i < s.length(); i++)
108            {
109                if(!Character.isDigit(s.charAt(i)))
110                {
111                    return false;
112                }
113            }
114 
115            return true;
116        }
117    }
118}

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