Skip to content

Commit

Permalink
indicator tests
Browse files Browse the repository at this point in the history
  • Loading branch information
crazzyghost committed May 1, 2020
1 parent 80c2330 commit 50b8530
Show file tree
Hide file tree
Showing 10 changed files with 405 additions and 22 deletions.
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ sourceCompatibility = 1.8

repositories {
mavenCentral()
jcenter()
}

jacoco {
Expand All @@ -27,8 +28,8 @@ test.finalizedBy jacocoTestReport

dependencies {
testImplementation group: 'junit', name: 'junit', version: '4.12'
testImplementation 'com.github.gmazzo:okhttp-mock:1.3.2'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.5.0'
implementation 'com.squareup.moshi:moshi:1.8.0'

}
22 changes: 22 additions & 0 deletions src/main/java/com/crazzyghost/alphavantage/Config.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
package com.crazzyghost.alphavantage;

import java.util.concurrent.TimeUnit;

import okhttp3.OkHttpClient;

public class Config {

private String key;
private int timeOut;
private OkHttpClient httpClient;
public static String BASE_URL = "https://www.alphavantage.co/query?";

public Config(Builder builder) {
this.key = builder.key;
this.timeOut = builder.timeOut;
this.httpClient = builder.httpClient == null ? defaultClient(builder.timeOut): builder.httpClient;
}

public int getTimeOut() {
Expand All @@ -19,13 +25,24 @@ public String getKey() {
return key;
}

public OkHttpClient getOkHttpClient(){
return this.httpClient;
}

public static Builder builder(){
return new Builder();
}

private OkHttpClient defaultClient(int timeOut){
return new OkHttpClient.Builder()
.connectTimeout(timeOut, TimeUnit.SECONDS)
.build();
}

public static class Builder{
private String key;
private int timeOut;
private OkHttpClient httpClient;

public Builder key(String key){
this.key = key;
Expand All @@ -37,6 +54,11 @@ public Builder timeOut(int timeOut){
return this;
}

public Builder httpClient(OkHttpClient httpClient){
this.httpClient = httpClient;
return this;
}

public Config build(){
return new Config(this);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.Map;
import java.util.concurrent.TimeUnit;

import com.crazzyghost.alphavantage.AlphaVantageException;
import com.crazzyghost.alphavantage.Config;
Expand Down Expand Up @@ -32,30 +31,21 @@
import com.squareup.moshi.Types;

import okhttp3.Call;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.logging.HttpLoggingInterceptor.Level;

public class Indicator{

public class Indicator {

private IndicatorRequest.Builder<?> builder;
private Fetcher.SuccessCallback<?> successCallback;
private Fetcher.FailureCallback failureCallback;
private final Config config;
private final OkHttpClient client;
private IndicatorRequest request;

public Indicator(final Config config) {
this.config = config;
request = null;
final HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(Level.BASIC);
client = new OkHttpClient.Builder()
.connectTimeout(config.getTimeOut(), TimeUnit.SECONDS)
.addInterceptor(logging)
.build();
this.request = null;
}


Expand All @@ -71,7 +61,7 @@ public void fetch(){
.url(Config.BASE_URL + UrlExtractor.extract(this.request) + config.getKey())
.build();

client.newCall(request).enqueue(new okhttp3.Callback() {
config.getOkHttpClient().newCall(request).enqueue(new okhttp3.Callback() {
@Override
public void onFailure(final Call call, final IOException e) {
if(failureCallback != null){
Expand Down Expand Up @@ -547,7 +537,6 @@ public class MAMARequestProxy extends SimpleIndicatorRequestProxy<MAMARequestPro

public MAMARequestProxy(){
builder = new MAMARequest.Builder();
builder = builder.function(Function.MAMA);
}

public MAMARequestProxy fastLimit(final double fastLimit){
Expand All @@ -570,7 +559,6 @@ public class MACDRequestProxy extends SimpleIndicatorRequestProxy<MACDRequestPro

public MACDRequestProxy(){
builder = new MACDRequest.Builder();
builder = builder.function(Function.MACD);
}

public MACDRequestProxy fastPeriod(final int fastLimit){
Expand Down Expand Up @@ -598,7 +586,6 @@ public class MACDEXTRequestProxy extends SimpleIndicatorRequestProxy<MACDEXTRequ

public MACDEXTRequestProxy(){
builder = new MACDEXTRequest.Builder();
builder = builder.function(Function.MACDEXT);
}

public MACDEXTRequestProxy fastPeriod(final int period){
Expand Down Expand Up @@ -641,7 +628,6 @@ public class STOCHRequestProxy extends SimpleIndicatorRequestProxy<STOCHRequestP

public STOCHRequestProxy(){
builder = new STOCHRequest.Builder();
builder = builder.function(Function.STOCH);
}

public STOCHRequestProxy fastKPeriod(final int period){
Expand Down Expand Up @@ -674,7 +660,6 @@ public class STOCHFRequestProxy extends SimpleIndicatorRequestProxy<STOCHFReques

public STOCHFRequestProxy(){
builder = new STOCHFRequest.Builder();
builder = builder.function(Function.STOCHF);
}

public STOCHFRequestProxy fastKPeriod(final int period){
Expand All @@ -697,7 +682,6 @@ public class STOCHRSIRequestProxy extends SimpleIndicatorRequestProxy<STOCHRSIRe

public STOCHRSIRequestProxy(){
builder = new STOCHRSIRequest.Builder();
builder = builder.function(Function.STOCHRSI);
}

public STOCHRSIRequestProxy fastKPeriod(final int period){
Expand Down Expand Up @@ -758,7 +742,6 @@ public class ULTOSCRequestProxy extends SimpleIndicatorRequestProxy<ULTOSCReques

public ULTOSCRequestProxy(){
builder = new ULTOSCRequest.Builder();
builder = builder.function(Function.ULTOSC);
}

public ULTOSCRequestProxy timePeriod1(final int period){
Expand Down
Loading

0 comments on commit 50b8530

Please sign in to comment.