JAL-1270 main method converted to JUnit test
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 15 May 2015 14:38:42 +0000 (15:38 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 15 May 2015 14:38:42 +0000 (15:38 +0100)
src/jalview/ws/rest/RestClient.java
test/jalview/ws/rest/RestClientTest.java [new file with mode: 0644]

index 90a33b5..f9b72e3 100644 (file)
  */
 package jalview.ws.rest;
 
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Hashtable;
+import java.util.Vector;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.event.MenuEvent;
+import javax.swing.event.MenuListener;
+
 import jalview.bin.Cache;
 import jalview.datamodel.AlignmentView;
 import jalview.gui.AlignFrame;
@@ -33,17 +44,6 @@ import jalview.ws.WSClient;
 import jalview.ws.WSClientI;
 import jalview.ws.WSMenuEntryProviderI;
 
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.event.MenuEvent;
-import javax.swing.event.MenuListener;
-
 /**
  * @author JimP
  * 
@@ -407,33 +407,6 @@ public class RestClient extends WSClient implements WSClientI,
     return lst;
   }
 
-  public static void main(String args[])
-  {
-    try
-    {
-      RestClient[] clients = getRestClients();
-      System.out.println("Got " + clients.length + " clients.");
-      int i = 0;
-      Vector<String> urls = new Vector<String>();
-      for (RestClient cl : clients)
-      {
-        System.out.println("" + (++i) + ": " + cl.service.toString());
-        urls.add(cl.service.toString());
-      }
-      setRsbsServices(urls);
-      if (clients.length != getRestClients().length)
-      {
-        System.err
-                .println("Failed. Differing numbers of clients when stringified and parsed again.");
-      }
-
-    } catch (Throwable x)
-    {
-      System.err.println("Failed. Unexpected exception.");
-      x.printStackTrace();
-    }
-  }
-
   public String getAction()
   {
     return service.details.Action;
diff --git a/test/jalview/ws/rest/RestClientTest.java b/test/jalview/ws/rest/RestClientTest.java
new file mode 100644 (file)
index 0000000..66cdc42
--- /dev/null
@@ -0,0 +1,52 @@
+package jalview.ws.rest;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Vector;
+
+import org.junit.Test;
+
+import jalview.bin.Cache;
+
+public class RestClientTest
+{
+  /**
+   * Refactored 'as is' from main method
+   */
+  @Test
+  public void testGetRestClient()
+  {
+    /*
+     * Load test properties file (readonly) so as not to overwrite the real one
+     */
+    Cache.loadProperties("test/src/jalview/io/testProps.jvprops");
+
+    RestClient[] clients = RestClient.getRestClients();
+    System.out.println("Got " + clients.length + " clients.");
+    int i = 0;
+    Vector<String> urls = new Vector<String>();
+    for (RestClient cl : clients)
+    {
+      System.out.println("" + (++i) + ": " + cl.service.toString());
+      urls.add(cl.service.toString());
+    }
+    RestClient.setRsbsServices(urls);
+
+    RestClient[] restClients = RestClient.getRestClients();
+    assertEquals("", clients.length, restClients.length);
+
+    /*
+     * Check the two lists hold 'equal' (albeit different) objects. Ordering
+     * should be the same as getRestClients returns the list in the same order
+     * as setRsbsServices sets it.
+     */
+    for (i = 0; i < clients.length; i++)
+    {
+      /*
+       * RestServiceDescription.equals() compares numerous fields
+       */
+      assertEquals(clients[i].getRestDescription(),
+              restClients[i].getRestDescription());
+    }
+  }
+}