NotNullGeneratorTest.java
/*
* Copyright (C) 2007-2010 J��lio Vilmar Gesser.
* Copyright (C) 2011, 2013-2024 The JavaParser Team.
*
* This file is part of JavaParser.
*
* JavaParser can be used either under the terms of
* a) the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* b) the terms of the Apache License
*
* You should have received a copy of both licenses in LICENCE.LGPL and
* LICENCE.APACHE. Please refer to those files for details.
*
* JavaParser is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*/
package com.github.javaparser.generator.core.quality;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.printer.DefaultPrettyPrinter;
import com.github.javaparser.utils.SourceRoot;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import org.junit.jupiter.api.Test;
class NotNullGeneratorTest {
@Test
void testExecutionOfGenerator() throws Exception {
// Setup the
String resourcesFolderPath = getClass().getCanonicalName().replace(".", File.separator);
String basePath = Paths.get("src", "test", "resources").toString();
Path originalFile = Paths.get(basePath, resourcesFolderPath, "original");
Path expectedFile = Paths.get(basePath, resourcesFolderPath, "expected");
SourceRoot originalSources = new SourceRoot(originalFile);
SourceRoot expectedSources = new SourceRoot(expectedFile);
expectedSources.tryToParse();
// Generate the information
new NotNullGenerator(originalSources).generate();
List<CompilationUnit> editedSourceCus = originalSources.getCompilationUnits();
List<CompilationUnit> expectedSourcesCus = expectedSources.getCompilationUnits();
assertEquals(expectedSourcesCus.size(), editedSourceCus.size());
// Check if all the files match the expected result
for (int i = 0; i < editedSourceCus.size(); i++) {
DefaultPrettyPrinter printer = new DefaultPrettyPrinter();
String expectedCode = printer.print(expectedSourcesCus.get(i));
String editedCode = printer.print(editedSourceCus.get(i));
if (!expectedCode.equals(editedCode)) {
System.out.println("Expected:");
System.out.println("####");
System.out.println(expectedSourcesCus.get(i));
System.out.println("####");
System.out.println("Actual:");
System.out.println("####");
System.out.println(editedSourceCus.get(i));
System.out.println("####");
fail("Actual code doesn't match with the expected code.");
}
}
}
}