// Path: src/main/java/com/yunpian/sdk/model/Result.java
// public class Result<T> {
// 
//     private Integer code = Code.OK;
//     private String msg;
//     private String detail;
// 
//     private Throwable e;
// 
//     private T data;
// 
//     public T getData() {
//         return data;
//     }
// 
//     public String getDetail() {
//         return detail;
//     }
// 
//     public Result<T> setDetail(String detail) {
//         this.detail = detail;
//         return this;
//     }
// 
//     public Result<T> setData(T data) {
//         this.data = data;
//         return this;
//     }
// 
//     public Integer getCode() {
//         return code;
//     }
// 
//     public Result<T> setCode(Integer code) {
//         this.code = code;
//         return this;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public Result<T> setMsg(String msg) {
//         this.msg = msg;
//         return this;
//     }
// 
//     public Throwable getThrowable() {
//         return e;
//     }
// 
//     public Result<T> setThrowable(Throwable e) {
//         this.e = e;
//         return this;
//     }
// 
//     public boolean isSucc() {
//         return code == Code.OK;
//     }
// 
//     @Override
//     public String toString() {
//         return JsonUtil.toJson(this);
//     }
// 
// }
// 
// Path: src/main/java/com/yunpian/sdk/model/VoiceSend.java
// public class VoiceSend extends BaseInfo {
// 
// }
// 
// Path: src/main/java/com/yunpian/sdk/model/VoiceStatus.java
// public class VoiceStatus extends BaseStatus {
//     private String uid;
//     private String duration;
// 
//     public String getDuration() {
//         return duration;
//     }
// 
//     public void setDuration(String duration) {
//         this.duration = duration;
//     }
// 
//     public String getUid() {
//         return uid;
//     }
// 
//     public void setUid(String uid) {
//         this.uid = uid;
//     }
// 
//     @Override
//     public String toString() {
//         return JsonUtil.toJson(this);
//     }
// }


import java.util.List;
import java.util.Map;
import org.junit.Ignore;
import org.junit.Test;
import com.yunpian.sdk.model.Result;
import com.yunpian.sdk.model.VoiceSend;
import com.yunpian.sdk.model.VoiceStatus;
package com.yunpian.sdk.api;




/**
 * 语音验证码API
 * 
 * https://www.yunpian.com/api2.0/api-voice.html
 * 
 * @author dzh
 * @date Dec 4, 2016 8:24:07 PM
 * @since 1.2.0
 */
public class TestVoiceApi extends TestYunpianClient {

    @Test
    @Ignore
    public void sendTest() {
        Map<String, String> param = clnt.newParam(4);
        param.put(MOBILE, "11111111111");
        param.put(CODE, "123412");
        // param.put(CALLBACK_URL, "");
        // param.put(DISPLAY_NUM, "");
        Result<VoiceSend> r = clnt.voice().send(param);
        System.out.println(r);

        // r = ((VoiceApi) clnt.voice().version(VERSION_V1)).send(param);
        // System.out.println(r);
    }

    @Test
    @Ignore
    public void pull_statusTest() {
        Map<String, String> param = clnt.newParam(1);
        // param.put(page_size, "20");
// Path: src/main/java/com/yunpian/sdk/model/Result.java
// public class Result<T> {
// 
//     private Integer code = Code.OK;
//     private String msg;
//     private String detail;
// 
//     private Throwable e;
// 
//     private T data;
// 
//     public T getData() {
//         return data;
//     }
// 
//     public String getDetail() {
//         return detail;
//     }
// 
//     public Result<T> setDetail(String detail) {
//         this.detail = detail;
//         return this;
//     }
// 
//     public Result<T> setData(T data) {
//         this.data = data;
//         return this;
//     }
// 
//     public Integer getCode() {
//         return code;
//     }
// 
//     public Result<T> setCode(Integer code) {
//         this.code = code;
//         return this;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public Result<T> setMsg(String msg) {
//         this.msg = msg;
//         return this;
//     }
// 
//     public Throwable getThrowable() {
//         return e;
//     }
// 
//     public Result<T> setThrowable(Throwable e) {
//         this.e = e;
//         return this;
//     }
// 
//     public boolean isSucc() {
//         return code == Code.OK;
//     }
// 
//     @Override
//     public String toString() {
//         return JsonUtil.toJson(this);
//     }
// 
// }
// 
// Path: src/main/java/com/yunpian/sdk/model/VoiceSend.java
// public class VoiceSend extends BaseInfo {
// 
// }
// 
// Path: src/main/java/com/yunpian/sdk/model/VoiceStatus.java
// public class VoiceStatus extends BaseStatus {
//     private String uid;
//     private String duration;
// 
//     public String getDuration() {
//         return duration;
//     }
// 
//     public void setDuration(String duration) {
//         this.duration = duration;
//     }
// 
//     public String getUid() {
//         return uid;
//     }
// 
//     public void setUid(String uid) {
//         this.uid = uid;
//     }
// 
//     @Override
//     public String toString() {
//         return JsonUtil.toJson(this);
//     }
// }


// Path: src/test/java/com/yunpian/sdk/api/TestVoiceApi.java
import java.util.List;
import java.util.Map;
import org.junit.Ignore;
import org.junit.Test;
import com.yunpian.sdk.model.Result;
import com.yunpian.sdk.model.VoiceSend;
import com.yunpian.sdk.model.VoiceStatus;

package com.yunpian.sdk.api;




/**
 * 语音验证码API
 * 
 * https://www.yunpian.com/api2.0/api-voice.html
 * 
 * @author dzh
 * @date Dec 4, 2016 8:24:07 PM
 * @since 1.2.0
 */
public class TestVoiceApi extends TestYunpianClient {

    @Test
    @Ignore
    public void sendTest() {
        Map<String, String> param = clnt.newParam(4);
        param.put(MOBILE, "11111111111");
        param.put(CODE, "123412");
        // param.put(CALLBACK_URL, "");
        // param.put(DISPLAY_NUM, "");
        Result<VoiceSend> r = clnt.voice().send(param);
        System.out.println(r);

        // r = ((VoiceApi) clnt.voice().version(VERSION_V1)).send(param);
        // System.out.println(r);
    }

    @Test
    @Ignore
    public void pull_statusTest() {
        Map<String, String> param = clnt.newParam(1);
        // param.put(page_size, "20");
        Result<List<VoiceStatus>> r = clnt.voice().pull_status(param);