def diff(file_a, file_b): try: if "java" in file_a[0]: components_diff = JavaParser.diff(file_a, file_b) return components_diff except ParsingError: pass return []
def diff(file_a, file_b): try: if "java" in file_a[0]: components_diff = JavaParser.diff(file_a, file_b) return components_diff except ParsingError: pass return []
def test_diff_case_a(self): code_b = """ package org.feup.meoarenacustomer.app; import android.app.DownloadManager; import com.loopj.android.http.*; static class API { static String getUrl() { return url; } static void setUrl(String url) { this.url = url; } private String url; private final String PRODUCTION_URL = "http://neo.andrefreitas.pt:8081/api"; private static AsyncHttpClient client = new AsyncHttpClient(); static API(String url ){ this.url = url; } static API(){ this.url = PRODUCTION_URL; } // Modified method static void login(String email, String password, AsyncHttpResponseHandler responseHandler){ RequestParams params = new RequestParams(); params.put("email", email); client.post(url + "/login", params, responseHandler); } // Removed method register() // Added method static void recover(String name){ RequestParams params = new RequestParams(); params.put("name", name); params.put("email", email); } // Added method static void outputShows(AsyncHttpResponseHandler responseHandler) { client.get(url + "/shows", responseHandler); } static void getShows(AsyncHttpResponseHandler responseHandler) { client.get(url + "/shows", responseHandler); } } private class JSONAPI{ private void recover(String name){ RequestParams params = new RequestParams(); params.put("name", name); params.put("email", email); } } """ diffs = JavaParser.diff(("API.java", self.code), ("API.java", code_b)) # TODO: Test nested classes self.assertTrue(DiffClass("API.java", class_a="API", class_b="API", modified=True) in diffs, msg="It should recognize modified classes") self.assertTrue(DiffMethod("API.java", class_name="API", method_a="login", method_b="login", modified=True) in diffs, msg="It should recognize modified methods") self.assertTrue(DiffMethod("API.java", class_name="API", method_a="register", removed=True) in diffs, msg="It should recognize removed methods") self.assertTrue(DiffMethod("API.java", class_name="API", method_b="recover", added=True) in diffs, msg="It should recognize added methods") self.assertTrue(DiffMethod("API.java", class_name="API", method_b="outputShows", added=True) in diffs, msg="It should recognize added methods") self.assertTrue(DiffClass("API.java", class_a="SOAPAPI", removed=True) in diffs, msg="It should recognize removed classes") self.assertTrue(DiffClass("API.java", class_b="JSONAPI", added=True) in diffs, msg="It should recognize added classes") self.assertTrue(DiffMethod("API.java", class_name="SOAPAPI", method_a="login", removed=True) in diffs, msg="It should recognize removed methods") self.assertTrue(DiffMethod("API.java", class_name="JSONAPI", method_b="recover", added=True) in diffs, msg="It should recognize added methods") self.assertEqual(len(diffs), 9)