// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequestCompiler.java
// static final int CONNECT_TIMEOUT_MS = 2500;
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequestCompiler.java
// static final int READ_TIMEOUT_MS = 2500;
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequests.java
// @NonNull
// @SuppressWarnings("unchecked")
// public static HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
// httpDeleteRequest(@NonNull final String url) {
//   return new HttpRequestCompiler("DELETE", url);
// }
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequests.java
// @NonNull
// @SuppressWarnings("unchecked")
// public static HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
// httpGetRequest(@NonNull final String url) {
//   return new HttpRequestCompiler("GET", url);
// }
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequests.java
// @NonNull
// @SuppressWarnings("unchecked")
// public static HTBodyHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
// httpPostRequest(@NonNull final String url) {
//   return new HttpRequestCompiler("POST", url);
// }
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequests.java
// @NonNull
// @SuppressWarnings("unchecked")
// public static HTBodyHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
// httpPutRequest(@NonNull final String url) {
//   return new HttpRequestCompiler("PUT", url);
// }
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequestCompilerStates.java
// interface HTBodyHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
//     extends HTBody, HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile {}
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequestCompilerStates.java
// interface HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
//     extends HTCachesConnectionTimeoutReadTimeoutCompile {
// 
//   /**
//    * Adds a header field to the {@link HttpRequest}.
//    */
//   @NonNull
//   HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile headerField(
//       @NonNull String name, @NonNull String value);
// 
// 
//   /**
//    * Turns off follow redirects.
//    */
//   @NonNull
//   HTCachesConnectionTimeoutReadTimeoutCompile noRedirects();
// }


import com.google.android.agera.net.HttpRequestCompilerStates.HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile;
import java.util.Map;
import nl.jqno.equalsverifier.EqualsVerifier;
import org.junit.Test;
import static com.google.android.agera.net.HttpRequestCompiler.CONNECT_TIMEOUT_MS;
import static com.google.android.agera.net.HttpRequestCompiler.READ_TIMEOUT_MS;
import static com.google.android.agera.net.HttpRequests.httpDeleteRequest;
import static com.google.android.agera.net.HttpRequests.httpGetRequest;
import static com.google.android.agera.net.HttpRequests.httpPostRequest;
import static com.google.android.agera.net.HttpRequests.httpPutRequest;
import static com.google.android.agera.net.test.matchers.HasPrivateConstructor.hasPrivateConstructor;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasEntry;
import static org.hamcrest.Matchers.hasToString;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.isEmptyOrNullString;
import static org.hamcrest.Matchers.not;
import com.google.android.agera.net.HttpRequestCompilerStates.HTBodyHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile;
  }

  @Test
  public void shouldCreateHttpPostRequestWithData() {
    final HttpRequest httpRequest = httpPostRequest(URL).body(DATA).compile();

    assertThat(httpRequest.method, is("POST"));
    assertThat(httpRequest.url, is(URL));
    assertThat(httpRequest.body, is(DATA));
  }

  @Test
  public void shouldCreateHttpPutRequest() {
    final HttpRequest httpRequest = httpPutRequest(URL).compile();

    assertThat(httpRequest.method, is("PUT"));
    assertThat(httpRequest.url, is(URL));
  }

  @Test
  public void shouldCreateHttpPutRequestWithBody() {
    final HttpRequest httpRequest = httpPutRequest(URL).body(DATA).compile();

    assertThat(httpRequest.method, is("PUT"));
    assertThat(httpRequest.url, is(URL));
    assertThat(httpRequest.body, is(DATA));
  }

  @Test
  public void shouldCreateHttpDeleteRequest() {
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequestCompiler.java
// static final int CONNECT_TIMEOUT_MS = 2500;
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequestCompiler.java
// static final int READ_TIMEOUT_MS = 2500;
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequests.java
// @NonNull
// @SuppressWarnings("unchecked")
// public static HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
// httpDeleteRequest(@NonNull final String url) {
//   return new HttpRequestCompiler("DELETE", url);
// }
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequests.java
// @NonNull
// @SuppressWarnings("unchecked")
// public static HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
// httpGetRequest(@NonNull final String url) {
//   return new HttpRequestCompiler("GET", url);
// }
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequests.java
// @NonNull
// @SuppressWarnings("unchecked")
// public static HTBodyHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
// httpPostRequest(@NonNull final String url) {
//   return new HttpRequestCompiler("POST", url);
// }
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequests.java
// @NonNull
// @SuppressWarnings("unchecked")
// public static HTBodyHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
// httpPutRequest(@NonNull final String url) {
//   return new HttpRequestCompiler("PUT", url);
// }
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequestCompilerStates.java
// interface HTBodyHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
//     extends HTBody, HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile {}
// 
// Path: extensions/net/src/main/java/com/google/android/agera/net/HttpRequestCompilerStates.java
// interface HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile
//     extends HTCachesConnectionTimeoutReadTimeoutCompile {
// 
//   /**
//    * Adds a header field to the {@link HttpRequest}.
//    */
//   @NonNull
//   HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile headerField(
//       @NonNull String name, @NonNull String value);
// 
// 
//   /**
//    * Turns off follow redirects.
//    */
//   @NonNull
//   HTCachesConnectionTimeoutReadTimeoutCompile noRedirects();
// }


// Path: extensions/net/src/test/java/com/google/android/agera/net/HttpRequestTest.java
import com.google.android.agera.net.HttpRequestCompilerStates.HTHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile;
import java.util.Map;
import nl.jqno.equalsverifier.EqualsVerifier;
import org.junit.Test;
import static com.google.android.agera.net.HttpRequestCompiler.CONNECT_TIMEOUT_MS;
import static com.google.android.agera.net.HttpRequestCompiler.READ_TIMEOUT_MS;
import static com.google.android.agera.net.HttpRequests.httpDeleteRequest;
import static com.google.android.agera.net.HttpRequests.httpGetRequest;
import static com.google.android.agera.net.HttpRequests.httpPostRequest;
import static com.google.android.agera.net.HttpRequests.httpPutRequest;
import static com.google.android.agera.net.test.matchers.HasPrivateConstructor.hasPrivateConstructor;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasEntry;
import static org.hamcrest.Matchers.hasToString;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.isEmptyOrNullString;
import static org.hamcrest.Matchers.not;
import com.google.android.agera.net.HttpRequestCompilerStates.HTBodyHeaderFieldRedirectsCachesConnectionTimeoutReadTimeoutCompile;

  }

  @Test
  public void shouldCreateHttpPostRequestWithData() {
    final HttpRequest httpRequest = httpPostRequest(URL).body(DATA).compile();

    assertThat(httpRequest.method, is("POST"));
    assertThat(httpRequest.url, is(URL));
    assertThat(httpRequest.body, is(DATA));
  }

  @Test
  public void shouldCreateHttpPutRequest() {
    final HttpRequest httpRequest = httpPutRequest(URL).compile();

    assertThat(httpRequest.method, is("PUT"));
    assertThat(httpRequest.url, is(URL));
  }

  @Test
  public void shouldCreateHttpPutRequestWithBody() {
    final HttpRequest httpRequest = httpPutRequest(URL).body(DATA).compile();

    assertThat(httpRequest.method, is("PUT"));
    assertThat(httpRequest.url, is(URL));
    assertThat(httpRequest.body, is(DATA));
  }

  @Test
  public void shouldCreateHttpDeleteRequest() {
    final HttpRequest httpRequest = httpDeleteRequest(URL).compile();