@Test
  public void builder_Success3() throws SecurityException {
    final Location location1 = buildFakeLocation(provider);

    final LocationRequestBuilder locationRequestBuilder = getDefaultLocationRequestBuilder();

    final Observable<Location> createdObservable =
        locationRequestBuilder.setDefaultLocation(location1).create();

    final TestSubscriber<Location> subscriber = new TestSubscriber<>();
    createdObservable.subscribe(subscriber);
    subscriber.awaitTerminalEvent();
    subscriber.assertValue(location1);
  }
  /**
   * Return null if no default location is setted and no value was emitted
   *
   * @throws SecurityException
   */
  @Test
  public void builder_Success2() throws SecurityException {
    final Location location1 = buildFakeLocation(provider);
    location1.setTime(System.currentTimeMillis() - TimeUnit.HOURS.toMillis(1));

    final LocationRequestBuilder locationRequestBuilder = getDefaultLocationRequestBuilder();

    final Observable<Location> createdObservable =
        locationRequestBuilder
            .addLastLocation(provider, new LocationTime(10, TimeUnit.MINUTES), false)
            .addRequestLocation(provider, new LocationTime(5, TimeUnit.SECONDS))
            .create();

    // set provider enabled
    setIsProviderEnabled(provider, true);

    Mockito.when(locationManager.getLastKnownLocation(provider)).thenReturn(location1);

    final TestSubscriber<Location> subscriber = new TestSubscriber<>();
    createdObservable.subscribe(subscriber);
    subscriber.awaitTerminalEvent();
    subscriber.assertValue(null);
  }