JUnit tests for CachedLabelProvider
Change-Id: Icb818f86b1c94283491dc5537a8be522b75e9eef
diff --git a/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/CachedLabelProviderTest.xtend b/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/CachedLabelProviderTest.xtend
new file mode 100644
index 0000000..d43df9a
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/CachedLabelProviderTest.xtend
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2014 RCP Vision (http://www.rcp-vision.com) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lorenzo Bettini - Initial contribution and API
+ *******************************************************************************/
+package org.eclipse.emf.parsley.tests
+
+import org.eclipse.emf.parsley.composite.CachedLabelProvider
+import org.eclipse.jface.viewers.ILabelProvider
+import org.eclipse.jface.viewers.ILabelProviderListener
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+
+import static org.mockito.Matchers.*
+import static org.mockito.Mockito.*
+
+import static extension org.junit.Assert.*
+
+class CachedLabelProviderTest extends AbstractImageBasedTest {
+
+ var CachedLabelProvider labelProvider
+ var ILabelProvider delegate
+ val final TEST_VAL = "TEST"
+
+ @Before
+ def void setupLabelProvider() {
+ delegate = mock(ILabelProvider)
+ when(delegate.getText(anyObject)).thenReturn(TEST_VAL)
+ labelProvider = new CachedLabelProvider(delegate)
+ }
+
+ @After
+ def void disposeLabelProvider() {
+ labelProvider.dispose
+ }
+
+ @Test
+ def void testGetText() {
+ TEST_VAL.assertEquals(labelProvider.getText(classForControlsInstance))
+ TEST_VAL.assertEquals(labelProvider.getText(classForControlsInstance))
+ verify(delegate, times(1)).getText(anyObject)
+ }
+
+ @Test
+ def void testGetImage() {
+ assertNull(labelProvider.getImage(classForControlsInstance))
+ assertNull(labelProvider.getImage(classForControlsInstance))
+ verify(delegate, times(1)).getImage(anyObject)
+ }
+
+ @Test
+ def void testIsValueProperty() {
+ assertFalse(labelProvider.isLabelProperty(classForControlsInstance, "foo"))
+ verify(delegate, times(1)).isLabelProperty(classForControlsInstance, "foo")
+ }
+
+ @Test
+ def void testListeners() {
+ val listener = mock(ILabelProviderListener)
+ labelProvider.addListener(listener)
+ labelProvider.removeListener(listener)
+ verify(delegate, times(1)).addListener(listener)
+ verify(delegate, times(1)).removeListener(listener)
+ }
+}
diff --git a/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/ViewerLabelProviderTest.xtend b/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/ViewerLabelProviderTest.xtend
index 24adcb9..37385f0 100644
--- a/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/ViewerLabelProviderTest.xtend
+++ b/tests/org.eclipse.emf.parsley.tests/src/org/eclipse/emf/parsley/tests/ViewerLabelProviderTest.xtend
@@ -25,6 +25,10 @@
import org.eclipse.swt.graphics.Font
import org.eclipse.swt.SWT
+import static org.mockito.Mockito.*
+import org.eclipse.jface.viewers.ILabelProviderListener
+import org.junit.After
+
class ViewerLabelProviderTest extends AbstractImageBasedTest {
var ViewerLabelProvider labelProvider
@@ -34,6 +38,11 @@
labelProvider = getOrCreateInjector.getInstance(ViewerLabelProvider)
}
+ @After
+ def void disposeLabelProvider() {
+ labelProvider.dispose
+ }
+
@Test
def void testGetTextNull() {
"".assertEquals(labelProvider.getText(null))
@@ -262,6 +271,13 @@
labelProvider.isLabelProperty(library, libraryPackage.library_Name.name).assertTrue
}
+ @Test
+ def void testListeners() {
+ val listener = mock(ILabelProviderListener)
+ labelProvider.addListener(listener)
+ labelProvider.removeListener(listener)
+ }
+
private def setupContainerWith10Elems() {
testContainer.classesWithName => [
for (i : 0..<10) {