2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.io.cache;
23 import java.util.LinkedHashSet;
25 import org.junit.Assert;
26 import org.testng.annotations.BeforeClass;
27 import org.testng.annotations.Test;
29 public class JvCacheableInputBoxTest
32 private AppCache appCache;
34 private static final String TEST_CACHE_KEY = "CACHE.UNIT_TEST";
36 private JvCacheableInputBox<String> cacheBox = new JvCacheableInputBox<>(
39 @BeforeClass(alwaysRun = true)
40 private void setUpCache()
42 appCache = AppCache.getInstance();
45 @Test(groups = { "Functional" })
46 public void getUserInputTest()
48 String userInput = cacheBox.getUserInput();
49 Assert.assertEquals("", userInput);
51 String testInput = "TestInput";
52 cacheBox.addItem(testInput);
53 cacheBox.setSelectedItem(testInput);
57 // This delay is essential to prevent the
58 // assertion below from executing before
59 // swing thread finishes updating the combo-box
61 } catch (InterruptedException e)
65 userInput = cacheBox.getUserInput();
66 Assert.assertEquals(testInput, userInput);
69 @Test(groups = { "Functional" })
70 public void updateCacheTest()
72 String testInput = "TestInput";
73 cacheBox.addItem(testInput);
74 cacheBox.setSelectedItem(testInput);
75 cacheBox.updateCache();
78 // This delay is to let
79 // cacheBox.updateCache() finish updating the cache
81 } catch (InterruptedException e)
85 LinkedHashSet<String> foundCache = appCache
86 .getAllCachedItemsFor(TEST_CACHE_KEY);
87 Assert.assertTrue(foundCache.contains(testInput));