JAL-1648 added unit test for AppCache
authortcofoegbu <tcnofoegbu@dundee.ac.uk>
Mon, 24 Apr 2017 10:30:03 +0000 (11:30 +0100)
committertcofoegbu <tcnofoegbu@dundee.ac.uk>
Mon, 24 Apr 2017 10:30:03 +0000 (11:30 +0100)
src/jalview/io/cache/AppCache.java
src/jalview/io/cache/JvCacheableInputBox.java
test/jalview/io/cache/AppCacheTest.java [new file with mode: 0644]

index fc528ef..9663c98 100644 (file)
@@ -173,7 +173,7 @@ public class AppCache
    * 
    * @return
    */
-  private Hashtable<String, LinkedHashSet<String>> getCacheItems()
+  Hashtable<String, LinkedHashSet<String>> getCacheItems()
   {
     return cacheItems;
   }
index 6101bdd..3475d4f 100644 (file)
@@ -65,6 +65,7 @@ public class JvCacheableInputBox<E> extends JComboBox<String>
   private void initCachePopupMenu()
   {
     pnlDefaultCache.setBackground(Color.WHITE);
+    // pad panel so as to align with other menu items
     pnlDefaultCache.setBorder(BorderFactory.createEmptyBorder(0, 19, 0, 0));
     txtDefaultCacheSize.setPreferredSize(new Dimension(45, 20));
     lblDefaultCacheSize.setText(MessageManager
@@ -113,7 +114,7 @@ public class JvCacheableInputBox<E> extends JComboBox<String>
    * @param text
    * @return
    */
-  private boolean isInteger(String text)
+  static boolean isInteger(String text)
   {
     try
     {
diff --git a/test/jalview/io/cache/AppCacheTest.java b/test/jalview/io/cache/AppCacheTest.java
new file mode 100644 (file)
index 0000000..ef75869
--- /dev/null
@@ -0,0 +1,73 @@
+package jalview.io.cache;
+
+import java.util.LinkedHashSet;
+
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+public class AppCacheTest
+{
+  private AppCache appCache;
+
+  private static final String TEST_CACHE_KEY = "CACHE.UNIT_TEST";
+
+  private static final String TEST_FAKE_CACHE_KEY = "CACHE.UNIT_TEST_FAKE";
+
+  @BeforeClass(alwaysRun = true)
+  public void setUpCache()
+  {
+    appCache = AppCache.getInstance();
+  }
+
+  public void generateTestCacheItems()
+  {
+    LinkedHashSet<String> testCacheItems = new LinkedHashSet<String>();
+    for (int x = 0; x < 10; x++)
+    {
+      testCacheItems.add("TestCache" + x);
+    }
+    appCache.putCache(TEST_CACHE_KEY, testCacheItems);
+    appCache.persistCache(TEST_CACHE_KEY);
+  }
+
+  @Test(groups = { "Functional" })
+  public void appCacheTest()
+  {
+    LinkedHashSet<String> cacheItems = appCache
+            .getAllCachedItemsFor(TEST_FAKE_CACHE_KEY);
+    Assert.assertEquals(cacheItems.size(), 0);
+    generateTestCacheItems();
+    cacheItems = appCache.getAllCachedItemsFor(TEST_CACHE_KEY);
+    Assert.assertEquals(cacheItems.size(), 10);
+    appCache.deleteCacheItems(TEST_CACHE_KEY);
+    cacheItems = appCache.getAllCachedItemsFor(TEST_CACHE_KEY);
+    Assert.assertEquals(cacheItems.size(), 0);
+  }
+
+  @Test(groups = { "Functional" })
+  public void appCacheLimitTest()
+  {
+    String limit = appCache.getCacheLmit(TEST_CACHE_KEY);
+    Assert.assertEquals(limit, "99");
+    limit = String.valueOf(appCache.updateCacheLimit(TEST_CACHE_KEY, "20"));
+    Assert.assertEquals(limit, "20");
+    limit = appCache.getCacheLmit(TEST_CACHE_KEY);
+    Assert.assertEquals(limit, "20");
+    appCache.updateCacheLimit(TEST_CACHE_KEY, "99");
+  }
+
+  @Test(groups = { "Functional" })
+  public void initCacheTest()
+  {
+    appCache.initCache(TEST_CACHE_KEY);
+    Assert.assertTrue(appCache.getCacheItems().containsKey(TEST_CACHE_KEY));
+    generateTestCacheItems();
+    // appCache.
+    appCache.initCache(TEST_CACHE_KEY);
+    //
+    Assert.assertTrue(appCache.getCacheItems().containsKey(TEST_CACHE_KEY));
+    appCache.deleteCacheItems(TEST_CACHE_KEY);
+  }
+
+}