package org.netbeans.gradle.project.properties.ui; import org.junit.Test; import org.netbeans.gradle.project.api.config.ActiveSettingsQuery; import org.netbeans.gradle.project.api.config.PropertyReference; import org.netbeans.gradle.project.java.JavaExtensionDef; import org.netbeans.gradle.project.java.properties.JavaProjectProperties; import org.netbeans.gradle.project.properties.ExtensionActiveSettingsQuery; import org.netbeans.gradle.project.properties.NbGradleCommonProperties; import org.netbeans.gradle.project.properties.global.CommonGlobalSettings; import org.netbeans.gradle.project.properties.global.GlobalSettingsPage; import org.netbeans.gradle.project.properties.global.JavaSourcesDisplayMode; import org.netbeans.gradle.project.util.NbConsumer; import org.netbeans.gradle.project.util.NbSupplier; public class AppearancePanelTest { private static PropertyReference<String> displayNamePattern(CommonGlobalSettings input) { return NbGradleCommonProperties.displayNamePattern(input.getActiveSettingsQuery()); } private static NbSupplier<GlobalSettingsPage> settingsPageFactory() { return new NbSupplier<GlobalSettingsPage>() { @Override public GlobalSettingsPage get() { return AppearancePanel.createSettingsPage(false); } }; } private static PropertyReference<JavaSourcesDisplayMode> javaSourcesDisplayMode(CommonGlobalSettings input) { ActiveSettingsQuery javaExtQuery = new ExtensionActiveSettingsQuery( input.getActiveSettingsQuery(), JavaExtensionDef.EXTENSION_NAME); return JavaProjectProperties.javaSourcesDisplayMode(javaExtQuery); } @Test public void testInitAndReadBack1() throws Exception { GlobalSettingsPanelTestUtils.testGlobalInitAndReadBack(settingsPageFactory(), new NbConsumer<CommonGlobalSettings>() { @Override public void accept(CommonGlobalSettings input) { displayNamePattern(input).setValue("${project.name}"); javaSourcesDisplayMode(input).setValue(JavaSourcesDisplayMode.GROUP_BY_SOURCESET); } }); } @Test public void testInitAndReadBack2() throws Exception { GlobalSettingsPanelTestUtils.testGlobalInitAndReadBack(settingsPageFactory(), new NbConsumer<CommonGlobalSettings>() { @Override public void accept(CommonGlobalSettings input) { displayNamePattern(input).setValue("${project.path}-${project.version}-test"); javaSourcesDisplayMode(input).setValue(JavaSourcesDisplayMode.GROUP_BY_SOURCESET); } }); } @Test public void testInitAndReadBack3() throws Exception { GlobalSettingsPanelTestUtils.testGlobalInitAndReadBack(settingsPageFactory(), new NbConsumer<CommonGlobalSettings>() { @Override public void accept(CommonGlobalSettings input) { displayNamePattern(input).setValue("${project.path}"); javaSourcesDisplayMode(input).setValue(JavaSourcesDisplayMode.DEFAULT_MODE); } }); } }