// Path: test/com/Upwork/api/Routers/Helper.java
// @RunWith(PowerMockRunner.class)
// public class Helper {
// 	@Mock
// 	protected OAuthClient client;
// 	
// 	@Before
// 	public void setUp() throws JSONException {
// 		MockitoAnnotations.initMocks(this);
//         when(client.get(Matchers.anyString())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.get(Matchers.anyString(), (HashMap<String, String>) Matchers.anyObject())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.post(Matchers.anyString(), (HashMap<String, String>) Matchers.anyObject())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.put(Matchers.anyString())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.put(Matchers.anyString(), (HashMap<String, String>) Matchers.anyObject())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.delete(Matchers.anyString())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.delete(Matchers.anyString(), (HashMap<String, String>) Matchers.anyObject())).thenReturn(new JSONObject("{'key': 'value'}"));
// 	}
// }
// 
// Path: src/com/Upwork/api/Routers/Reports/Time.java
// @ClassPreamble (
// 	author = "Maksym Novozhylov <mnovozhilov@upwork.com>",
// 	date = "6/4/2014",
// 	currentRevision = 1,
// 	lastModified = "6/4/2014",
// 	lastModifiedBy = "Maksym Novozhylov",
// 	reviewers = {"Yiota Tsakiri"}
// )
// public final class Time {
// 	
// 	final static String ENTRY_POINT = "gds";
// 	
// 	private OAuthClient oClient = null;
// 
// 	public Time(OAuthClient client) {
// 		oClient = client;
// 		oClient.setEntryPoint(ENTRY_POINT);
// 	}
// 	
// 	/**
//      * Generate Time Reports for a Specific Team/Comapny/Agency
//      *
//      * @param   company Company ID
//      * @param   team (Optional) Team ID
//      * @param   agency (Optional) Agency ID
//      * @param   params (Optional) Parameters
//      * @param   hideFinDetails (Optional) Hides all financial details
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     private JSONObject _getByType(String company, String team, String agency, HashMap<String, String> params, Boolean hideFinDetails) throws JSONException {
//         String url = "";
//         if (team != null) {
//             url = "/teams/" + team;
//             if (hideFinDetails) {
//                 url = url + "/hours";
//             }
//         } else if (agency != null) {
//             url = "/agencies/" + agency;
//         }
// 
//         return oClient.get("/timereports/v1/companies/" + company + url, params);
//     }
//     
//     /**
//      * Generate Time Reports for a Specific Team (with financial info)
//      *
//      * @param   company Company ID
//      * @param   team Team ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByTeamFull(String company, String team, HashMap<String, String> params) throws JSONException {
//         return _getByType(company, team, null, params, false);
//     }
// 
//     /**
//      * Generate Time Reports for a Specific Team (hide financial info)
//      *
//      * @param   company Company ID
//      * @param   team Team ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByTeamLimited(String company, String team, HashMap<String, String> params) throws JSONException {
//         return _getByType(company, team, null, params, true);
//     }
//     
//     /**
//      * Generating Agency Specific Reports
//      *
//      * @param   company Company ID
//      * @param   agency Agency ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByAgency(String company, String agency, HashMap<String, String> params) throws JSONException {
//         return _getByType(company, null, agency, params, false);
//     }
// 
//     /**
//      * Generating Company Wide Reports
//      *
//      * @param   company Company ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByCompany(String company, HashMap<String, String> params) throws JSONException {
//         return _getByType(company, null, null, params, false);
//     }
//     
//     /**
//      * Generating Freelancer's Specific Reports (hide financial info)
//      *
//      * @param   freelancerId Freelancer's ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByFreelancerLimited(String freelancerId, HashMap<String, String> params) throws JSONException {
//         return oClient.get("/timereports/v1/providers/" + freelancerId + "/hours", params);
//     }
// 
//     /**
//      * Generating Freelancer's Specific Reports (with financial info)
//      *
//      * @param   freelancerId Freelancer's ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByFreelancerFull(String freelancerId, HashMap<String, String> params) throws JSONException {
//         return oClient.get("/timereports/v1/providers/" + freelancerId, params);
//     }
// 
// }


import static org.junit.Assert.*;
import java.util.HashMap;
import org.json.JSONObject;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import com.Upwork.api.Routers.Helper;
import com.Upwork.api.Routers.Reports.Time;
package com.Upwork.api.Routers.Reports;





@RunWith(PowerMockRunner.class)
@PrepareForTest({
// Path: test/com/Upwork/api/Routers/Helper.java
// @RunWith(PowerMockRunner.class)
// public class Helper {
// 	@Mock
// 	protected OAuthClient client;
// 	
// 	@Before
// 	public void setUp() throws JSONException {
// 		MockitoAnnotations.initMocks(this);
//         when(client.get(Matchers.anyString())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.get(Matchers.anyString(), (HashMap<String, String>) Matchers.anyObject())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.post(Matchers.anyString(), (HashMap<String, String>) Matchers.anyObject())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.put(Matchers.anyString())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.put(Matchers.anyString(), (HashMap<String, String>) Matchers.anyObject())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.delete(Matchers.anyString())).thenReturn(new JSONObject("{'key': 'value'}"));
//         when(client.delete(Matchers.anyString(), (HashMap<String, String>) Matchers.anyObject())).thenReturn(new JSONObject("{'key': 'value'}"));
// 	}
// }
// 
// Path: src/com/Upwork/api/Routers/Reports/Time.java
// @ClassPreamble (
// 	author = "Maksym Novozhylov <mnovozhilov@upwork.com>",
// 	date = "6/4/2014",
// 	currentRevision = 1,
// 	lastModified = "6/4/2014",
// 	lastModifiedBy = "Maksym Novozhylov",
// 	reviewers = {"Yiota Tsakiri"}
// )
// public final class Time {
// 	
// 	final static String ENTRY_POINT = "gds";
// 	
// 	private OAuthClient oClient = null;
// 
// 	public Time(OAuthClient client) {
// 		oClient = client;
// 		oClient.setEntryPoint(ENTRY_POINT);
// 	}
// 	
// 	/**
//      * Generate Time Reports for a Specific Team/Comapny/Agency
//      *
//      * @param   company Company ID
//      * @param   team (Optional) Team ID
//      * @param   agency (Optional) Agency ID
//      * @param   params (Optional) Parameters
//      * @param   hideFinDetails (Optional) Hides all financial details
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     private JSONObject _getByType(String company, String team, String agency, HashMap<String, String> params, Boolean hideFinDetails) throws JSONException {
//         String url = "";
//         if (team != null) {
//             url = "/teams/" + team;
//             if (hideFinDetails) {
//                 url = url + "/hours";
//             }
//         } else if (agency != null) {
//             url = "/agencies/" + agency;
//         }
// 
//         return oClient.get("/timereports/v1/companies/" + company + url, params);
//     }
//     
//     /**
//      * Generate Time Reports for a Specific Team (with financial info)
//      *
//      * @param   company Company ID
//      * @param   team Team ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByTeamFull(String company, String team, HashMap<String, String> params) throws JSONException {
//         return _getByType(company, team, null, params, false);
//     }
// 
//     /**
//      * Generate Time Reports for a Specific Team (hide financial info)
//      *
//      * @param   company Company ID
//      * @param   team Team ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByTeamLimited(String company, String team, HashMap<String, String> params) throws JSONException {
//         return _getByType(company, team, null, params, true);
//     }
//     
//     /**
//      * Generating Agency Specific Reports
//      *
//      * @param   company Company ID
//      * @param   agency Agency ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByAgency(String company, String agency, HashMap<String, String> params) throws JSONException {
//         return _getByType(company, null, agency, params, false);
//     }
// 
//     /**
//      * Generating Company Wide Reports
//      *
//      * @param   company Company ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByCompany(String company, HashMap<String, String> params) throws JSONException {
//         return _getByType(company, null, null, params, false);
//     }
//     
//     /**
//      * Generating Freelancer's Specific Reports (hide financial info)
//      *
//      * @param   freelancerId Freelancer's ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByFreelancerLimited(String freelancerId, HashMap<String, String> params) throws JSONException {
//         return oClient.get("/timereports/v1/providers/" + freelancerId + "/hours", params);
//     }
// 
//     /**
//      * Generating Freelancer's Specific Reports (with financial info)
//      *
//      * @param   freelancerId Freelancer's ID
//      * @param   params Parameters
//      * @throws	JSONException If error occurred
// 	 * @return	{@link JSONObject}
//      */
//     public JSONObject getByFreelancerFull(String freelancerId, HashMap<String, String> params) throws JSONException {
//         return oClient.get("/timereports/v1/providers/" + freelancerId, params);
//     }
// 
// }


// Path: test/com/Upwork/api/Routers/Reports/TimeTest.java
import static org.junit.Assert.*;
import java.util.HashMap;
import org.json.JSONObject;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import com.Upwork.api.Routers.Helper;
import com.Upwork.api.Routers.Reports.Time;

package com.Upwork.api.Routers.Reports;





@RunWith(PowerMockRunner.class)
@PrepareForTest({
	Time.class