Add walking skelton for GraphicsPluginTest and Assertions

This commit is contained in:
Peter Dell 2022-12-27 00:38:05 +01:00
parent 321be09c48
commit fc48aa17e9
6 changed files with 277 additions and 53 deletions

View File

@ -0,0 +1,36 @@
/**
* Copyright (C) 2009 - 2021 <a href="https://www.wudsn.com" target="_top">Peter Dell</a>
*
* This file is part of WUDSN IDE.
*
* WUDSN IDE is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* WUDSN IDE 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WUDSN IDE. If not, see <http://www.gnu.org/licenses/>.
*/
package com.wudsn.ide.base.common;
public class Assertions {
public static void assertFalse(boolean actual) {
throw new RuntimeException("Actual values is not false");
}
public static void fail(String message) {
throw new RuntimeException(message);
}
public static void fail(Throwable throwable) {
throw new RuntimeException(throwable);
}
}

View File

@ -0,0 +1,13 @@
package com.wudsn.ide.base.common;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@Retention(RUNTIME)
@Target(METHOD)
public @interface Test {
}

View File

@ -12,9 +12,7 @@ Require-Bundle: com.wudsn.ide.base,
org.eclipse.ui.editors,
org.eclipse.ui.ide,
org.eclipse.ui.console,
org.eclipse.ui.views,
org.junit,
org.junit.jupiter.api
org.eclipse.ui.views
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Export-Package: com.wudsn.ide.gfx.editor

View File

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="askclear" value="false"/>
<booleanAttribute key="automaticAdd" value="true"/>
<booleanAttribute key="automaticValidate" value="true"/>
<stringAttribute key="bad_container_name" value="\com.wudsn.ide.gfx\launch"/>
<stringAttribute key="bootstrap" value=""/>
<stringAttribute key="checked" value="[NONE]"/>
<booleanAttribute key="clearConfig" value="true"/>
<booleanAttribute key="clearws" value="true"/>
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="true"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.wudsn.ide.gfx"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=com.wudsn.ide.gfx"/>
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit5"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.wudsn.ide.gfx"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfig" value="true"/>
<booleanAttribute key="useDefaultConfigArea" value="false"/>
<booleanAttribute key="useProduct" value="true"/>
</launchConfiguration>

View File

@ -1,7 +1,7 @@
package com.wudsn.ide.gfx;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.fail;
import static com.wudsn.ide.base.common.Assertions.assertFalse;
import static com.wudsn.ide.base.common.Assertions.fail;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IWorkspace;
@ -9,15 +9,15 @@ import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.junit.jupiter.api.Test;
import com.wudsn.ide.base.common.MessageQueue;
import com.wudsn.ide.base.common.MessageQueue.Entry;
import com.wudsn.ide.base.common.Test;
import com.wudsn.ide.gfx.converter.ConverterData;
import com.wudsn.ide.gfx.converter.ConverterDataLogic;
import com.wudsn.ide.gfx.model.ConverterMode;
// TODO Implement unit tests / run as plugin test?
// TODO Implement unit tests / hwo to run run as plugin test?
class GraphicsPluginTest {
private static void assertContainsNoErrorMessage(MessageQueue messageQueue) {
if (messageQueue.containsError()) {

View File

@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
<setAttribute key="additional_plugins"/>
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="askclear" value="false"/>
<booleanAttribute key="automaticAdd" value="true"/>
<booleanAttribute key="automaticValidate" value="true"/>
<stringAttribute key="bootstrap" value=""/>
<stringAttribute key="checked" value="[NONE]"/>
<booleanAttribute key="clearConfig" value="false"/>
<booleanAttribute key="clearws" value="false"/>
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/WUDSN-IDE UnitTests (TODO)"/>
<booleanAttribute key="default" value="false"/>
<setAttribute key="deselected_workspace_bundles">
<setEntry value="com.wudsn.ide.lng.compilers.test"/>
<setEntry value="org.eclipse.debug.ui"/>
</setAttribute>
<stringAttribute key="featureDefaultLocation" value="workspace"/>
<stringAttribute key="featurePluginResolution" value="workspace"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../runtime-WUDSN-IDE"/>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<booleanAttribute key="org.eclipse.hyades.trace.ui.ATTR_AUTO_FILTER_CRITERIA" value="true"/>
<booleanAttribute key="org.eclipse.hyades.trace.ui.ATTR_AUTO_MONITORING" value="false"/>
<stringAttribute key="org.eclipse.hyades.trace.ui.ATTR_DATA_COLLECTOR" value="org.eclipse.tptp.trace.jvmti.jvmtiMechanism:org.eclipse.tptp.analysisType.jvmti.execution"/>
<stringAttribute key="org.eclipse.hyades.trace.ui.ATTR_DESTINATION_FILE" value=""/>
<stringAttribute key="org.eclipse.hyades.trace.ui.ATTR_DESTINATION_MONITOR" value="DefaultMonitor"/>
<stringAttribute key="org.eclipse.hyades.trace.ui.ATTR_DESTINATION_PROJECT" value="ProfileProject"/>
<booleanAttribute key="org.eclipse.hyades.trace.ui.ATTR_PROFILE_TO_FILE" value="false"/>
<stringAttribute key="org.eclipse.hyades.trace.ui.ATTR_PROFILING_SET" value="tptp-dummy-profiling-set-WUDSN-IDE"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl en_US -consoleLog"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx256m -Dcom.wudsn.ide.common.base.Profiler=true"/>
<stringAttribute key="org.eclipse.tptp.platform.jvmti.client.ATTR_FILTERSET_ID" value="auto_generated_filter_set"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<setAttribute key="selected_features">
<setEntry value="com.wudsn.ide.feature:default"/>
<setEntry value="org.eclipse.e4.rcp:default"/>
<setEntry value="org.eclipse.ecf.core.feature:default"/>
<setEntry value="org.eclipse.ecf.core.ssl.feature:default"/>
<setEntry value="org.eclipse.ecf.filetransfer.feature:default"/>
<setEntry value="org.eclipse.ecf.filetransfer.httpclient45.feature:default"/>
<setEntry value="org.eclipse.ecf.filetransfer.ssl.feature:default"/>
<setEntry value="org.eclipse.emf.common:default"/>
<setEntry value="org.eclipse.emf.ecore:default"/>
<setEntry value="org.eclipse.equinox.p2.core.feature:default"/>
<setEntry value="org.eclipse.equinox.p2.extras.feature:default"/>
<setEntry value="org.eclipse.equinox.p2.rcp.feature:default"/>
<setEntry value="org.eclipse.equinox.p2.user.ui:default"/>
<setEntry value="org.eclipse.help:default"/>
<setEntry value="org.eclipse.platform:default"/>
<setEntry value="org.eclipse.rcp:default"/>
</setAttribute>
<setAttribute key="selected_target_bundles">
<setEntry value="com.ibm.icu@default:default"/>
<setEntry value="javax.annotation@default:default"/>
<setEntry value="javax.inject@default:default"/>
<setEntry value="javax.servlet@default:default"/>
<setEntry value="javax.xml@default:default"/>
<setEntry value="org.apache.batik.css@default:default"/>
<setEntry value="org.apache.batik.util.gui@default:default"/>
<setEntry value="org.apache.batik.util@default:default"/>
<setEntry value="org.apache.lucene.analysis@default:default"/>
<setEntry value="org.apache.lucene.core@default:default"/>
<setEntry value="org.apache.xerces@default:default"/>
<setEntry value="org.apache.xml.resolver@default:default"/>
<setEntry value="org.apache.xml.serializer@default:default"/>
<setEntry value="org.eclipse.ant.core@default:default"/>
<setEntry value="org.eclipse.compare.core@default:default"/>
<setEntry value="org.eclipse.compare@default:default"/>
<setEntry value="org.eclipse.core.commands@default:default"/>
<setEntry value="org.eclipse.core.contenttype@default:default"/>
<setEntry value="org.eclipse.core.databinding.observable@default:default"/>
<setEntry value="org.eclipse.core.databinding.property@default:default"/>
<setEntry value="org.eclipse.core.databinding@default:default"/>
<setEntry value="org.eclipse.core.expressions@default:default"/>
<setEntry value="org.eclipse.core.externaltools@default:default"/>
<setEntry value="org.eclipse.core.filebuffers@default:default"/>
<setEntry value="org.eclipse.core.filesystem.win32.x86_64@default:false"/>
<setEntry value="org.eclipse.core.filesystem@default:default"/>
<setEntry value="org.eclipse.core.jobs@default:default"/>
<setEntry value="org.eclipse.core.net.win32.x86_64@default:false"/>
<setEntry value="org.eclipse.core.net@default:default"/>
<setEntry value="org.eclipse.core.resources.win32.x86_64@default:false"/>
<setEntry value="org.eclipse.core.resources@default:default"/>
<setEntry value="org.eclipse.core.runtime.compatibility.registry@default:false"/>
<setEntry value="org.eclipse.core.runtime@default:true"/>
<setEntry value="org.eclipse.core.variables@default:default"/>
<setEntry value="org.eclipse.debug.core@default:default"/>
<setEntry value="org.eclipse.debug.ui@default:default"/>
<setEntry value="org.eclipse.e4.core.commands@default:default"/>
<setEntry value="org.eclipse.e4.core.contexts@default:default"/>
<setEntry value="org.eclipse.e4.core.di.extensions@default:default"/>
<setEntry value="org.eclipse.e4.core.di@default:default"/>
<setEntry value="org.eclipse.e4.core.services@default:default"/>
<setEntry value="org.eclipse.e4.ui.bindings@default:default"/>
<setEntry value="org.eclipse.e4.ui.css.core@default:default"/>
<setEntry value="org.eclipse.e4.ui.css.swt.theme@default:default"/>
<setEntry value="org.eclipse.e4.ui.css.swt@default:default"/>
<setEntry value="org.eclipse.e4.ui.di@default:default"/>
<setEntry value="org.eclipse.e4.ui.model.workbench@default:default"/>
<setEntry value="org.eclipse.e4.ui.services@default:default"/>
<setEntry value="org.eclipse.e4.ui.widgets@default:default"/>
<setEntry value="org.eclipse.e4.ui.workbench.addons.swt@default:default"/>
<setEntry value="org.eclipse.e4.ui.workbench.renderers.swt@default:default"/>
<setEntry value="org.eclipse.e4.ui.workbench.swt@default:default"/>
<setEntry value="org.eclipse.e4.ui.workbench3@default:default"/>
<setEntry value="org.eclipse.e4.ui.workbench@default:default"/>
<setEntry value="org.eclipse.emf.common@default:default"/>
<setEntry value="org.eclipse.emf.ecore.change@default:default"/>
<setEntry value="org.eclipse.emf.ecore.edit@default:default"/>
<setEntry value="org.eclipse.emf.ecore.xmi@default:default"/>
<setEntry value="org.eclipse.emf.ecore@default:default"/>
<setEntry value="org.eclipse.emf.edit@default:default"/>
<setEntry value="org.eclipse.equinox.app@default:default"/>
<setEntry value="org.eclipse.equinox.bidi@default:default"/>
<setEntry value="org.eclipse.equinox.common@2:true"/>
<setEntry value="org.eclipse.equinox.ds@1:true"/>
<setEntry value="org.eclipse.equinox.event@default:default"/>
<setEntry value="org.eclipse.equinox.http.jetty@default:default"/>
<setEntry value="org.eclipse.equinox.http.registry@default:default"/>
<setEntry value="org.eclipse.equinox.http.servlet@default:default"/>
<setEntry value="org.eclipse.equinox.launcher.win32.win32.x86_64@default:false"/>
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
<setEntry value="org.eclipse.equinox.p2.core@default:default"/>
<setEntry value="org.eclipse.equinox.p2.director.app@default:default"/>
<setEntry value="org.eclipse.equinox.p2.director@default:default"/>
<setEntry value="org.eclipse.equinox.p2.engine@default:default"/>
<setEntry value="org.eclipse.equinox.p2.metadata.repository@default:default"/>
<setEntry value="org.eclipse.equinox.p2.metadata@default:default"/>
<setEntry value="org.eclipse.equinox.p2.repository@default:default"/>
<setEntry value="org.eclipse.equinox.preferences@default:default"/>
<setEntry value="org.eclipse.equinox.registry@default:default"/>
<setEntry value="org.eclipse.equinox.security.win32.x86_64@default:false"/>
<setEntry value="org.eclipse.equinox.security@default:default"/>
<setEntry value="org.eclipse.equinox.simpleconfigurator@1:true"/>
<setEntry value="org.eclipse.equinox.util@default:default"/>
<setEntry value="org.eclipse.help.base@default:default"/>
<setEntry value="org.eclipse.help.ui@default:default"/>
<setEntry value="org.eclipse.help@default:default"/>
<setEntry value="org.eclipse.jem.util@default:default"/>
<setEntry value="org.eclipse.jetty.continuation@default:default"/>
<setEntry value="org.eclipse.jetty.http@default:default"/>
<setEntry value="org.eclipse.jetty.io@default:default"/>
<setEntry value="org.eclipse.jetty.security@default:default"/>
<setEntry value="org.eclipse.jetty.server@default:default"/>
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
<setEntry value="org.eclipse.jetty.util@default:default"/>
<setEntry value="org.eclipse.jface.databinding@default:default"/>
<setEntry value="org.eclipse.jface.text@default:default"/>
<setEntry value="org.eclipse.jface@default:default"/>
<setEntry value="org.eclipse.ltk.core.refactoring@default:default"/>
<setEntry value="org.eclipse.ltk.ui.refactoring@default:default"/>
<setEntry value="org.eclipse.osgi.services@default:default"/>
<setEntry value="org.eclipse.osgi.util@default:default"/>
<setEntry value="org.eclipse.osgi@-1:true"/>
<setEntry value="org.eclipse.platform@default:default"/>
<setEntry value="org.eclipse.swt.win32.win32.x86_64@default:false"/>
<setEntry value="org.eclipse.swt@default:default"/>
<setEntry value="org.eclipse.team.core@default:default"/>
<setEntry value="org.eclipse.team.ui@default:default"/>
<setEntry value="org.eclipse.text@default:default"/>
<setEntry value="org.eclipse.ui.cheatsheets@default:default"/>
<setEntry value="org.eclipse.ui.console@default:default"/>
<setEntry value="org.eclipse.ui.editors@default:default"/>
<setEntry value="org.eclipse.ui.externaltools@default:default"/>
<setEntry value="org.eclipse.ui.forms@default:default"/>
<setEntry value="org.eclipse.ui.ide.application@default:default"/>
<setEntry value="org.eclipse.ui.ide@default:default"/>
<setEntry value="org.eclipse.ui.intro@default:default"/>
<setEntry value="org.eclipse.ui.navigator.resources@default:default"/>
<setEntry value="org.eclipse.ui.navigator@default:default"/>
<setEntry value="org.eclipse.ui.net@default:default"/>
<setEntry value="org.eclipse.ui.trace@default:default"/>
<setEntry value="org.eclipse.ui.views.log@default:default"/>
<setEntry value="org.eclipse.ui.views.properties.tabbed@default:default"/>
<setEntry value="org.eclipse.ui.views@default:default"/>
<setEntry value="org.eclipse.ui.win32@default:false"/>
<setEntry value="org.eclipse.ui.workbench.texteditor@default:default"/>
<setEntry value="org.eclipse.ui.workbench@default:default"/>
<setEntry value="org.eclipse.ui@default:default"/>
<setEntry value="org.eclipse.wst.common.core@default:default"/>
<setEntry value="org.eclipse.wst.common.emf@default:default"/>
<setEntry value="org.eclipse.wst.common.emfworkbench.integration@default:default"/>
<setEntry value="org.eclipse.wst.common.environment@default:default"/>
<setEntry value="org.eclipse.wst.common.frameworks@default:default"/>
<setEntry value="org.eclipse.wst.common.project.facet.core@default:default"/>
<setEntry value="org.eclipse.wst.common.uriresolver@default:default"/>
<setEntry value="org.eclipse.wst.sse.core@default:default"/>
<setEntry value="org.eclipse.wst.validation@default:default"/>
<setEntry value="org.eclipse.wst.xml.core@default:default"/>
<setEntry value="org.eclipse.wst.xsd.core@default:default"/>
<setEntry value="org.eclipse.xsd@default:default"/>
<setEntry value="org.sat4j.core@default:default"/>
<setEntry value="org.sat4j.pb@default:default"/>
<setEntry value="org.w3c.css.sac@default:default"/>
<setEntry value="org.w3c.dom.smil@default:default"/>
<setEntry value="org.w3c.dom.svg@default:default"/>
</setAttribute>
<setAttribute key="selected_workspace_bundles">
<setEntry value="com.wudsn.ide.base@default:default"/>
<setEntry value="com.wudsn.ide.dsk@default:default"/>
<setEntry value="com.wudsn.ide.gfx@default:default"/>
<setEntry value="com.wudsn.ide.lng.compilers@default:default"/>
<setEntry value="com.wudsn.ide.lng@default:default"/>
<setEntry value="com.wudsn.ide.snd@default:default"/>
</setAttribute>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="true"/>
<booleanAttribute key="useDefaultConfig" value="true"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
<booleanAttribute key="useProduct" value="false"/>
</launchConfiguration>