/** * Copyright (c) 2014 - 2017 Frank Appel * 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: * Frank Appel - initial API and implementation */ package com.codeaffine.eclipse.ui.progress; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import org.eclipse.core.runtime.NullProgressMonitor; import org.junit.Before; import org.junit.Test; public class ElementCollectorTest { private DeferredContentManager contentManager; private PendingUpdatePlaceHolder placeHolder; private ElementCollector collector; private Object parent; @Before public void setUp() { parent = new Object(); placeHolder = new PendingUpdatePlaceHolder(); contentManager = mock( DeferredContentManager.class ); collector = new ElementCollector( contentManager, parent, placeHolder ); } @Test public void addSingleElement() { Object expected = new Object(); collector.add( expected, new NullProgressMonitor() ); verify( contentManager ).addChildren( eq( parent ), eq( new Object[] { expected } ) ); } @Test public void addMultipleElements() { Object[] expected = { new Object() }; collector.add( expected, new NullProgressMonitor() ); verify( contentManager ).addChildren( parent, expected ); } @Test public void done() { collector.done(); verify( contentManager ).clearPlaceholder( placeHolder ); } }