From 828bb8cde756e18e25ffae5ac47bf6832d32eeda Mon Sep 17 00:00:00 2001 From: gmungoc Date: Fri, 15 May 2015 15:38:42 +0100 Subject: [PATCH] JAL-1270 main method converted to JUnit test --- src/jalview/ws/rest/RestClient.java | 49 +++++++--------------------- test/jalview/ws/rest/RestClientTest.java | 52 ++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 38 deletions(-) create mode 100644 test/jalview/ws/rest/RestClientTest.java diff --git a/src/jalview/ws/rest/RestClient.java b/src/jalview/ws/rest/RestClient.java index 90a33b5..f9b72e3 100644 --- a/src/jalview/ws/rest/RestClient.java +++ b/src/jalview/ws/rest/RestClient.java @@ -20,6 +20,17 @@ */ 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 urls = new Vector(); - 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 index 0000000..66cdc42 --- /dev/null +++ b/test/jalview/ws/rest/RestClientTest.java @@ -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 urls = new Vector(); + 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()); + } + } +} -- 1.7.10.2