/* * $Id: ReportMerger.java 1496 2009-06-07 17:28:52Z amandel $ * * Copyright 2006, The jCoderZ.org Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * Neither the name of the jCoderZ.org Project nor the names of * its contributors may be used to endorse or promote products * derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.jcoderz.phoenix.report; import org.jcoderz.phoenix.report.jaxb.Item; import org.jcoderz.phoenix.report.jaxb.ObjectFactory; import junit.framework.TestCase; /** * Test the {@link ReportMerger}. * @author Andreas Mandel */ public class ReportMergerTest extends TestCase { private static final int START_LINE_CPD_FINDING = 55; private static final int END_LINE_CPD_FINDING = 98; /** * Test the {@link ReportMerger#isSameFinding(Item, Item)} method. * @throws Exception in case of a test error. */ public void testIsSameFinding () throws Exception { final Item a = new ObjectFactory().createItem(); a.setLine(START_LINE_CPD_FINDING); a.setEndLine(END_LINE_CPD_FINDING); a.setMessage("Copied and pasted code. " + "341 equal tokens (43 lines) found in 2 locations. " + "See also: com....businessfactory.AvbKreditFactory:53 "); a.setFindingType("cpd"); a.setOrigin(Origin.CPD); a.setSeverity(Severity.CPD); final Item b = new ObjectFactory().createItem(); b.setLine(START_LINE_CPD_FINDING); b.setEndLine(END_LINE_CPD_FINDING - 1); b.setMessage("Copied and pasted code. " + "341 equal tokens (42 lines) found in 2 locations. " + "See also: com....businessfactory.AvbKreditFactory:53 "); b.setFindingType("cpd"); b.setOrigin(Origin.CPD); b.setSeverity(Severity.CPD); assertTrue("Items should be considered same, even if message differs.", ReportMerger.isSameFinding(a, b)); } }