Clover icon

java-junit-xml-merger 1.0.1

  1. Project Clover database Mi Okt 4 2017 15:38:24 MESZ
  2. Package io.codeclou.java.junit.xml.merger.model

File TestSuites.java

 

Coverage histogram

../../../../../../../img/srcFileCovDistChart10.png
0% of files have more coverage

Code metrics

0
18
7
1
86
45
7
0,39
2,57
7
1

Classes

Class Line # Actions
TestSuites 35 18 0% 7 0
1.0100%
 

Contributing tests

This file is covered by 4 tests. .

Source view

1    /*
2    * MIT License
3    *
4    * Copyright (c) 2017 Bernhard Grünewaldt
5    *
6    * Permission is hereby granted, free of charge, to any person obtaining a copy
7    * of this software and associated documentation files (the "Software"), to deal
8    * in the Software without restriction, including without limitation the rights
9    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10    * copies of the Software, and to permit persons to whom the Software is
11    * furnished to do so, subject to the following conditions:
12    *
13    * The above copyright notice and this permission notice shall be included in all
14    * copies or substantial portions of the Software.
15    *
16    * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17    * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18    * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19    * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20    * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21    * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22    * SOFTWARE.
23    */
24    package io.codeclou.java.junit.xml.merger.model;
25   
26    import org.w3c.dom.Document;
27    import org.w3c.dom.Element;
28   
29    import javax.xml.parsers.DocumentBuilder;
30    import javax.xml.parsers.DocumentBuilderFactory;
31    import javax.xml.parsers.ParserConfigurationException;
32    import java.util.ArrayList;
33    import java.util.List;
34   
 
35    public class TestSuites {
36   
37    private String name;
38   
39    private List<TestSuite> testSuites = new ArrayList<>();
40   
41    //
42    // SUM GETTERS
43    //
 
44  4 toggle public Long getTests() {
45  4 return testSuites.stream().mapToLong(t -> t.getTests()).sum();
46    }
 
47  4 toggle public Long getFailures() {
48  4 return testSuites.stream().mapToLong(t -> t.getFailures()).sum();
49    }
 
50  4 toggle public Double getTime() {
51  4 return testSuites.stream().mapToDouble(t -> t.getTime()).sum();
52    }
53   
54    //
55    // NORMAL SETTERS/GETTERS
56    //
 
57  5 toggle public String getName() {
58  5 return name;
59    }
 
60  4 toggle public void setName(String name) {
61  4 this.name = name;
62    }
 
63  6 toggle public List<TestSuite> getTestSuites() {
64  6 return testSuites;
65    }
66   
67    //
68    // XML
69    //
 
70  3 toggle public Document toXml() throws ParserConfigurationException {
71  3 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
72  3 DocumentBuilder builder = factory.newDocumentBuilder();
73  3 Document document = builder.newDocument();
74  3 Element rootEl = document.createElement("testsuites");
75  3 document.appendChild(rootEl);
76  3 rootEl.setAttribute("time", this.getTime().toString());
77  3 rootEl.setAttribute("tests", this.getTests().toString());
78  3 rootEl.setAttribute("failures", this.getFailures().toString());
79  3 rootEl.setAttribute("name", this.getName());
80  3 for (TestSuite t : this.testSuites) {
81  5 rootEl.appendChild(document.importNode(t.getXml(), true));
82    }
83  3 return document;
84    }
85   
86    }