/******************************************************************************* * Copyright (c) 2012 Dirk Fauth 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: * Dirk Fauth - initial API and implementation *******************************************************************************/ package org.eclipse.nebula.widgets.nattable.persistence; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.Collection; import java.util.Properties; import org.eclipse.nebula.widgets.nattable.NatTable; import org.eclipse.nebula.widgets.nattable.test.fixture.NatTableFixture; import org.junit.Test; public class PersistenceHelperTest { @Test public void testGetAvailableStates() { Properties properties = new Properties(); NatTable natTable = new NatTableFixture(); natTable.saveState("", properties); natTable.saveState("Blubb", properties); natTable.saveState("Temp", properties); Collection<String> stateNames = PersistenceHelper .getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); } @Test public void testGetAvailableStatesOnNull() { assertTrue("Resulting state name collection is not empty", PersistenceHelper.getAvailableStates(null).isEmpty()); } @Test public void testGetAvailableStatesOnEmpty() { assertTrue("Resulting state name collection is not empty", PersistenceHelper.getAvailableStates(new Properties()) .isEmpty()); } @Test public void testDeleteState() { Properties properties = new Properties(); NatTable natTable = new NatTableFixture(); natTable.saveState("", properties); natTable.saveState("Blubb", properties); natTable.saveState("Temp", properties); Collection<String> stateNames = PersistenceHelper .getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); PersistenceHelper.deleteState("Blubb", properties); stateNames = PersistenceHelper.getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertFalse( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); } @Test public void testDeleteStateOnNullProperties() { Properties properties = new Properties(); NatTable natTable = new NatTableFixture(); natTable.saveState("", properties); natTable.saveState("Blubb", properties); natTable.saveState("Temp", properties); Collection<String> stateNames = PersistenceHelper .getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); PersistenceHelper.deleteState("Blubb", null); // no impact stateNames = PersistenceHelper.getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); } @Test public void testDeleteStateOnNullState() { Properties properties = new Properties(); NatTable natTable = new NatTableFixture(); natTable.saveState("", properties); natTable.saveState("Blubb", properties); natTable.saveState("Temp", properties); Collection<String> stateNames = PersistenceHelper .getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); PersistenceHelper.deleteState(null, properties); // no impact stateNames = PersistenceHelper.getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); } @Test public void testDeleteStateOnEmptyProperties() { Properties properties = new Properties(); NatTable natTable = new NatTableFixture(); natTable.saveState("", properties); natTable.saveState("Blubb", properties); natTable.saveState("Temp", properties); Collection<String> stateNames = PersistenceHelper .getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); PersistenceHelper.deleteState("Blubb", new Properties()); // no impact stateNames = PersistenceHelper.getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); } @Test public void testDeleteStateOnEmptyState() { Properties properties = new Properties(); NatTable natTable = new NatTableFixture(); natTable.saveState("", properties); natTable.saveState("Blubb", properties); natTable.saveState("Temp", properties); Collection<String> stateNames = PersistenceHelper .getAvailableStates(properties); assertTrue( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); PersistenceHelper.deleteState("", properties); // no impact stateNames = PersistenceHelper.getAvailableStates(properties); assertFalse( "Resulting state name collection does not contain the empty default state", stateNames.contains("")); assertTrue( "Resulting state name collection does not contain the 'Blubb' state", stateNames.contains("Blubb")); assertTrue( "Resulting state name collection does not contain the 'Temp' state", stateNames.contains("Temp")); } }