// Path: src/main/java/com/ksa/myanmarlottery/dto/GetPrizeDTO.java
// public class GetPrizeDTO {
//  
//     private int numberOfTimes;
//     private String result;
//     private String code;
//     private String description;
// 
//     public GetPrizeDTO() {
//     }
// 
//     public GetPrizeDTO(int numberOfTimes, String result, String code, String description) {
//         this.numberOfTimes = numberOfTimes;
//         this.result = result;
//         this.code = code;
//         this.description = description;
//     }
//     
//     public String getResult() {
//         return result;
//     }
// 
//     public void setResult(String result) {
//         this.result = result;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public int getNumberOfTimes() {
//         return numberOfTimes;
//     }
// 
//     public void setNumberOfTimes(int numberOfTimes) {
//         this.numberOfTimes = numberOfTimes;
//     }
// 
//     @Override
//     public String toString() {
//         return "GetPrizeDTO{" + "result=" + result + ", code=" + code + ", description=" + description + '}';
//     }
// }
// 
// Path: src/main/java/com/ksa/myanmarlottery/model/ScheduleItem.java
// @Entity
// @NamedQueries({
//     @NamedQuery(
//         name = "scheduleItem.findAll",
//         query = "from ScheduleItem s"
//     )}
// )
// public class ScheduleItem implements Serializable {
//     
//     @Id
//     private String recipientID;
//     
//     // 500 or 200
//     private int lotteryType;
//     
//     // query by range or specific query
//     private int queryType;
//     
//     @ElementCollection
//     @CollectionTable(name="param_table", joinColumns=@JoinColumn(name="recipient_id"))
//     @Column(name="params")
//     @OrderColumn(name="param_index")
//     private List<String> param = new ArrayList<>();
//     
//     private String originParam;
//     
//     @Temporal(TemporalType.TIMESTAMP)
//     private Date creationDate = new Date();
// 
//     public ScheduleItem() {}
// 
//     public ScheduleItem(String recipientID, int lotteryType, int queryType, String originParam) {
//         this.recipientID = recipientID;
//         this.lotteryType = lotteryType;
//         this.queryType = queryType;
//         this.originParam = originParam;
//     }
// 
//     public String getOriginParam() {
//         return originParam;
//     }
// 
//     public void setOriginParam(String originParam) {
//         this.originParam = originParam;
//     }
//     
//     public String getRecipientID() {
//         return recipientID;
//     }
// 
//     public void setRecipientID(String recipientID) {
//         this.recipientID = recipientID;
//     }
// 
//     public int getLotteryType() {
//         return lotteryType;
//     }
// 
//     public void setLotteryType(int lotteryType) {
//         this.lotteryType = lotteryType;
//     }
// 
//     public int getQueryType() {
//         return queryType;
//     }
// 
//     public void setQueryType(int queryType) {
//         this.queryType = queryType;
//     }
// 
//     public List<String> getParam() {
//         return param;
//     }
// 
//     public void setParam(List<String> param) {
//         this.param = param;
//     }
// 
//     public Date getCreationDate() {
//         return creationDate;
//     }
// 
//     public void setCreationDate(Date creationDate) {
//         this.creationDate = creationDate;
//     }
// 
// }
// 
// Path: src/main/java/com/ksa/myanmarlottery/repository/ScheduleRepository.java
// public interface ScheduleRepository {
//     List<ScheduleItem> findAll();
//     ScheduleItem insertOrUpdateItem(ScheduleItem item);
//     ScheduleItem findItemByID(String senderID);
//     void deleteItem(String id);
// }


import com.ksa.myanmarlottery.dto.GetPrizeDTO;
import com.ksa.myanmarlottery.model.ScheduleItem;
import com.ksa.myanmarlottery.repository.ScheduleRepository;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;
import org.junit.Assert;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ksa.myanmarlottery.service;


/**
 *
 * @author Kyawswa
 */
@Ignore
@ActiveProfiles("test")
@RunWith(SpringRunner.class)
@SpringBootTest
public class ScheduleServiceTest {
    
    @Autowired
    private ResultService resultService ;
    
    @Autowired
    private ScheduleRepository scheduleRepository ;
    
    @Autowired
    private ScheduleService service;

    @Test
    public void testSchedule() throws Exception {
        
        GetPrizeDTO dto1 = new GetPrizeDTO(1, "result1", "001", "description");
        GetPrizeDTO dto2 = new GetPrizeDTO(2, "result2", "002", "description");
        GetPrizeDTO dto3 = new GetPrizeDTO(3, "result3", "003", "description");
        List<GetPrizeDTO> dtos = new ArrayList<GetPrizeDTO>();
// Path: src/main/java/com/ksa/myanmarlottery/dto/GetPrizeDTO.java
// public class GetPrizeDTO {
//  
//     private int numberOfTimes;
//     private String result;
//     private String code;
//     private String description;
// 
//     public GetPrizeDTO() {
//     }
// 
//     public GetPrizeDTO(int numberOfTimes, String result, String code, String description) {
//         this.numberOfTimes = numberOfTimes;
//         this.result = result;
//         this.code = code;
//         this.description = description;
//     }
//     
//     public String getResult() {
//         return result;
//     }
// 
//     public void setResult(String result) {
//         this.result = result;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public int getNumberOfTimes() {
//         return numberOfTimes;
//     }
// 
//     public void setNumberOfTimes(int numberOfTimes) {
//         this.numberOfTimes = numberOfTimes;
//     }
// 
//     @Override
//     public String toString() {
//         return "GetPrizeDTO{" + "result=" + result + ", code=" + code + ", description=" + description + '}';
//     }
// }
// 
// Path: src/main/java/com/ksa/myanmarlottery/model/ScheduleItem.java
// @Entity
// @NamedQueries({
//     @NamedQuery(
//         name = "scheduleItem.findAll",
//         query = "from ScheduleItem s"
//     )}
// )
// public class ScheduleItem implements Serializable {
//     
//     @Id
//     private String recipientID;
//     
//     // 500 or 200
//     private int lotteryType;
//     
//     // query by range or specific query
//     private int queryType;
//     
//     @ElementCollection
//     @CollectionTable(name="param_table", joinColumns=@JoinColumn(name="recipient_id"))
//     @Column(name="params")
//     @OrderColumn(name="param_index")
//     private List<String> param = new ArrayList<>();
//     
//     private String originParam;
//     
//     @Temporal(TemporalType.TIMESTAMP)
//     private Date creationDate = new Date();
// 
//     public ScheduleItem() {}
// 
//     public ScheduleItem(String recipientID, int lotteryType, int queryType, String originParam) {
//         this.recipientID = recipientID;
//         this.lotteryType = lotteryType;
//         this.queryType = queryType;
//         this.originParam = originParam;
//     }
// 
//     public String getOriginParam() {
//         return originParam;
//     }
// 
//     public void setOriginParam(String originParam) {
//         this.originParam = originParam;
//     }
//     
//     public String getRecipientID() {
//         return recipientID;
//     }
// 
//     public void setRecipientID(String recipientID) {
//         this.recipientID = recipientID;
//     }
// 
//     public int getLotteryType() {
//         return lotteryType;
//     }
// 
//     public void setLotteryType(int lotteryType) {
//         this.lotteryType = lotteryType;
//     }
// 
//     public int getQueryType() {
//         return queryType;
//     }
// 
//     public void setQueryType(int queryType) {
//         this.queryType = queryType;
//     }
// 
//     public List<String> getParam() {
//         return param;
//     }
// 
//     public void setParam(List<String> param) {
//         this.param = param;
//     }
// 
//     public Date getCreationDate() {
//         return creationDate;
//     }
// 
//     public void setCreationDate(Date creationDate) {
//         this.creationDate = creationDate;
//     }
// 
// }
// 
// Path: src/main/java/com/ksa/myanmarlottery/repository/ScheduleRepository.java
// public interface ScheduleRepository {
//     List<ScheduleItem> findAll();
//     ScheduleItem insertOrUpdateItem(ScheduleItem item);
//     ScheduleItem findItemByID(String senderID);
//     void deleteItem(String id);
// }


// Path: src/test/java/com/ksa/myanmarlottery/service/ScheduleServiceTest.java
import com.ksa.myanmarlottery.dto.GetPrizeDTO;
import com.ksa.myanmarlottery.model.ScheduleItem;
import com.ksa.myanmarlottery.repository.ScheduleRepository;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;
import org.junit.Assert;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ksa.myanmarlottery.service;


/**
 *
 * @author Kyawswa
 */
@Ignore
@ActiveProfiles("test")
@RunWith(SpringRunner.class)
@SpringBootTest
public class ScheduleServiceTest {
    
    @Autowired
    private ResultService resultService ;
    
    @Autowired
    private ScheduleRepository scheduleRepository ;
    
    @Autowired
    private ScheduleService service;

    @Test
    public void testSchedule() throws Exception {
        
        GetPrizeDTO dto1 = new GetPrizeDTO(1, "result1", "001", "description");
        GetPrizeDTO dto2 = new GetPrizeDTO(2, "result2", "002", "description");
        GetPrizeDTO dto3 = new GetPrizeDTO(3, "result3", "003", "description");
        List<GetPrizeDTO> dtos = new ArrayList<GetPrizeDTO>();
        dtos.add(dto1);