From 6a2d3c2a2469341e42aafbf285a475da32e34237 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 19 Jul 2026 20:45:55 +0000 Subject: [PATCH] test: improve coverage for Preferences Co-authored-by: RoiSoleil <3462260+RoiSoleil@users.noreply.github.com> --- .../mock/preferences/PreferencesTest.java | 79 +++++++++++++++---- 1 file changed, 62 insertions(+), 17 deletions(-) diff --git a/org.moreunit.mock.test/test/org/moreunit/mock/preferences/PreferencesTest.java b/org.moreunit.mock.test/test/org/moreunit/mock/preferences/PreferencesTest.java index a8496e8a..d418f2a8 100644 --- a/org.moreunit.mock.test/test/org/moreunit/mock/preferences/PreferencesTest.java +++ b/org.moreunit.mock.test/test/org/moreunit/mock/preferences/PreferencesTest.java @@ -1,34 +1,79 @@ package org.moreunit.mock.preferences; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jface.preference.IPreferenceStore; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -public class PreferencesTest -{ +public class PreferencesTest { + + private PreferenceStoreManager storeManager; + private IPreferenceStore workspaceStore; + private IPreferenceStore projectStore; + private IJavaProject project; + @BeforeEach - public void initMocks() { - MockitoAnnotations.openMocks(this); + public void setUp() { + storeManager = mock(PreferenceStoreManager.class); + workspaceStore = mock(IPreferenceStore.class); + projectStore = mock(IPreferenceStore.class); + project = mock(IJavaProject.class); + + when(storeManager.getWorkspaceStore()).thenReturn(workspaceStore); } - @Mock - private PreferenceStoreManager storeManager; - @Mock - private IPreferenceStore workspacePreferenceStore; @Test - public void should_register_preference_default_values() throws Exception - { - when(storeManager.getWorkspaceStore()).thenReturn(workspacePreferenceStore); - + public void constructor_should_register_default_values_to_workspace_store() { new Preferences(storeManager); + // Preference.MOCKING_TEMPLATE is registered during class loading. + // We verify that its default value is set on the workspace store. + verify(workspaceStore).setDefault("org.moreunit.mock.mocking_template", "org.moreunit.mock.mockitoWithAnnotationsAndJUnitRunner1.9"); + } + + @Test + public void setMockingTemplate_should_save_value_to_project_store() { + Preferences preferences = new Preferences(storeManager); + when(storeManager.getStore(project, true)).thenReturn(projectStore); + + preferences.setMockingTemplate(project, "customTemplate"); + + verify(projectStore).setValue("org.moreunit.mock.mocking_template", "customTemplate"); + verify(storeManager).save(project, projectStore); + } + + @Test + public void getMockingTemplate_should_return_value_from_store() { + Preferences preferences = new Preferences(storeManager); + when(storeManager.getStore(project, false)).thenReturn(projectStore); + when(projectStore.getString("org.moreunit.mock.mocking_template")).thenReturn("customTemplate"); + + String result = preferences.getMockingTemplate(project); + + assertEquals("customTemplate", result); + } + + @Test + public void setSpecificSettings_should_delegate_to_store_manager() { + Preferences preferences = new Preferences(storeManager); + + preferences.setSpecificSettings(project, true); + + verify(storeManager).setSpecificSettings(project, true); + } + + @Test + public void hasSpecificSettings_should_delegate_to_store_manager() { + Preferences preferences = new Preferences(storeManager); + when(storeManager.hasSpecificSettings(project)).thenReturn(true); + + boolean result = preferences.hasSpecificSettings(project); - verify(workspacePreferenceStore).setDefault(eq(Preferences.MOCKING_TEMPLATE.name), anyString()); + assertTrue(result); } }