// Path: here-oauth-client/src/main/java/com/here/account/util/JacksonSerializer.java
// public class JacksonSerializer implements Serializer {
// 
//     public JacksonSerializer() {
//     }
//     
//     /**
//      * {@inheritDoc}
//      */
//     public Map<String, Object> jsonToMap(InputStream jsonInputStream) {
//         try {
//             return JsonSerializer.toMap(jsonInputStream);
//         } catch (IOException e) {
//             throw new RuntimeException("trouble deserializing json: " + e, e);
//         }
//     }
// 
//     @Override
//     public <T> T jsonToPojo(InputStream jsonInputStream, Class<T> pojoClass) {
//         try {
//             return JsonSerializer.toPojo(jsonInputStream, pojoClass);
//         } catch (IOException e) {
//             throw new RuntimeException("trouble deserializing json: " + e, e);
//         }
//     }
// 
//     @Override
//     public String objectToJson(Object object) {
//         try {
//             return JsonSerializer.objectToJson(object);
//         } catch (JsonProcessingException e) {
//             throw new RuntimeException("trouble serializing json: " + e, e);
//         }
//     }
// 
//     @Override
//     public void writeObjectToJson(OutputStream outputStream, Object object) {
//         try {
//             JsonSerializer.writeObjectToJson(outputStream, object);
//         } catch (IOException e) {
//             throw new RuntimeException("trouble serializing json: " + e, e);
//         }
//     }
//     
// 
// }


import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.here.account.util.JacksonSerializer;
import org.junit.Before;
import org.junit.Test;
import org.junit.internal.runners.statements.Fail;
import static org.junit.Assert.*;
    }
    
    @Test
    public void addFormParam() {
        Map<String, List<String>> formParams = new HashMap<String, List<String>>();
        String name = "name";
        Object value = "value";
        authorizationRequest.addFormParam(formParams, name, value);
        
        int size = formParams.size();
        int expectedSize = 1;
        
        assertTrue("formParams size was expected "+expectedSize+", actual "+size, size == expectedSize);
        List<String> valueList = formParams.get(name);
        size = valueList.size();
        assertTrue("valueList size was expected "+expectedSize+", actual "+size, size == expectedSize);

        String firstValue = valueList.get(0);
        assertTrue("firstValue was expected "+value+", actual "+firstValue, value.equals(firstValue));
    }

    @Test
    public void test_request_body() {
        Long expiresIn = 123456789L;
        String scope = "testScope";
        String correlationId = "corrId_abc123";

        Map<String, String> additionalHeaders = new HashMap<String, String>();
        additionalHeaders.put("testKey", "testValue");

// Path: here-oauth-client/src/main/java/com/here/account/util/JacksonSerializer.java
// public class JacksonSerializer implements Serializer {
// 
//     public JacksonSerializer() {
//     }
//     
//     /**
//      * {@inheritDoc}
//      */
//     public Map<String, Object> jsonToMap(InputStream jsonInputStream) {
//         try {
//             return JsonSerializer.toMap(jsonInputStream);
//         } catch (IOException e) {
//             throw new RuntimeException("trouble deserializing json: " + e, e);
//         }
//     }
// 
//     @Override
//     public <T> T jsonToPojo(InputStream jsonInputStream, Class<T> pojoClass) {
//         try {
//             return JsonSerializer.toPojo(jsonInputStream, pojoClass);
//         } catch (IOException e) {
//             throw new RuntimeException("trouble deserializing json: " + e, e);
//         }
//     }
// 
//     @Override
//     public String objectToJson(Object object) {
//         try {
//             return JsonSerializer.objectToJson(object);
//         } catch (JsonProcessingException e) {
//             throw new RuntimeException("trouble serializing json: " + e, e);
//         }
//     }
// 
//     @Override
//     public void writeObjectToJson(OutputStream outputStream, Object object) {
//         try {
//             JsonSerializer.writeObjectToJson(outputStream, object);
//         } catch (IOException e) {
//             throw new RuntimeException("trouble serializing json: " + e, e);
//         }
//     }
//     
// 
// }


// Path: here-oauth-client/src/test/java/com/here/account/oauth2/AuthorizationRequestTest.java
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.here.account.util.JacksonSerializer;
import org.junit.Before;
import org.junit.Test;
import org.junit.internal.runners.statements.Fail;
import static org.junit.Assert.*;

    }
    
    @Test
    public void addFormParam() {
        Map<String, List<String>> formParams = new HashMap<String, List<String>>();
        String name = "name";
        Object value = "value";
        authorizationRequest.addFormParam(formParams, name, value);
        
        int size = formParams.size();
        int expectedSize = 1;
        
        assertTrue("formParams size was expected "+expectedSize+", actual "+size, size == expectedSize);
        List<String> valueList = formParams.get(name);
        size = valueList.size();
        assertTrue("valueList size was expected "+expectedSize+", actual "+size, size == expectedSize);

        String firstValue = valueList.get(0);
        assertTrue("firstValue was expected "+value+", actual "+firstValue, value.equals(firstValue));
    }

    @Test
    public void test_request_body() {
        Long expiresIn = 123456789L;
        String scope = "testScope";
        String correlationId = "corrId_abc123";

        Map<String, String> additionalHeaders = new HashMap<String, String>();
        additionalHeaders.put("testKey", "testValue");

        JacksonSerializer serializer = new JacksonSerializer();