package jp.agentec.sinaburocast.service;

import java.util.ArrayList;

import javax.annotation.Resource;

import jp.agentec.sinaburocast.entity.AdminUser;
import jp.agentec.sinaburocast.entity.Answer;
import jp.agentec.sinaburocast.entity.Question;
import jp.agentec.sinaburocast.form.admin.enquete.EnqueteRegistForm;
import junit.framework.TestSuite;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.seasar.dao.unit.S2DaoTestCase;

public class QuestionServiceTest extends S2DaoTestCase {

	@Resource
	private QuestionService questionService;

	public QuestionServiceTest(String string) {
		super(string);
	}

	public static TestSuite suite() {
		TestSuite suite = new TestSuite("QuestionServiceTest");
//		suite.addTest(new QuestionServiceTest("findById"));
//		suite.addTest(new QuestionServiceTest("findAllOrderById"));
//		suite.addTest(new QuestionServiceTest("findAllOrderByEnqueteId"));
//		suite.addTest(new QuestionServiceTest("insertQuestionTx"));
//		suite.addTest(new QuestionServiceTest("findByQuestionIdOrderByEnqueteId"));
//		suite.addTest(new QuestionServiceTest("findAllByEnqueteId"));
//		suite.addTest(new QuestionServiceTest("deleteByEnqueteIdTx"));
//		suite.addTest(new QuestionServiceTest("getNextNo"));
//		suite.addTest(new QuestionServiceTest("questionRegistTx"));
//		suite.addTest(new QuestionServiceTest("findAllByCondId"));
//		suite.addTest(new QuestionServiceTest("deleteByQuestionInfoTx"));
//		suite.addTest(new QuestionServiceTest("questionUpdateTx"));
		suite.addTest(new QuestionServiceTest("getAnswerMemberCount"));
		suite.addTest(new QuestionServiceTest("getAnswerTimesCount"));
		return suite;
	}


	public void findById(){
	    System.out.println(questionService.findById(1));

	}
	public void findAllOrderById(){
		System.out.println(questionService.findAllOrderById());

	}
	public void findAllOrderByEnqueteId(){
		System.out.println(questionService.findAllOrderByEnqueteId("1"));
	}
	public void insertQuestionTx(){
		Question question = new Question();
		question.enqueteId = 1;
		question.questionNo = 1;
		question.questionName = "TEST";
		question.requiredFlg = 1;
		question.controlId = 1;

		System.out.println(questionService.insertQuestion(question,"TEST"));
	}
	public void findByQuestionIdOrderByEnqueteId(){
		System.out.println(questionService.findByQuestionIdOrderByEnqueteId(1));
	}
	public void findAllByEnqueteId(){
		System.out.println(questionService.findAllByEnqueteId("1"));
	}
	public void deleteByEnqueteIdTx(){
		System.out.println(questionService.deleteByEnqueteId("1","TEST"));
	}
	public void getNextNo(){
		System.out.println(questionService.getNextNo(1));
	}
	public void questionRegistTx(){
		EnqueteRegistForm frm = new EnqueteRegistForm();
		frm.inputQuestion = new Question();
		frm.inputQuestion.answerList = new ArrayList();
		frm.inputQuestion.enqueteId = 1;
		frm.inputQuestion.questionNo = 1;
		frm.inputQuestion.questionName = "TEST";
		frm.inputQuestion.requiredFlg = 1;
		frm.inputQuestion.controlId = 1;
		frm.eid = "1";
		//System.out.println(questionService.questionRegist(frm,"",true));
		System.out.println(questionService.questionRegist(frm,"",false));
	}
	public void findAllByCondId(){
		System.out.println(questionService.findAllByCondId(1));
	}
	public void deleteByQuestionInfoTx(){
		System.out.println(questionService.deleteByQuestionInfo(",","",false));
		System.out.println(questionService.deleteByQuestionInfo(",","",true));
	}
	//public EnqueteRegistAction enqueteRegistAction;

	public void questionUpdateTx(){
		
		Question oldQuestion = new Question();
		oldQuestion.questionId=338;
		
		
		ArrayList<String>  condAnswerStr = new ArrayList<String>();
		
		EnqueteRegistForm frm = new EnqueteRegistForm();
		frm.eid = "7";
		frm.inputQuestion = questionService.findById(338);
		frm.inputQuestion.answerList = new ArrayList<Answer>();
		
		AdminUser adminUser = new AdminUser();
		adminUser.loginId = "TEST";
		
		System.out.println(questionService.questionUpdate(oldQuestion,condAnswerStr,frm,adminUser));
	}
	
	
	public void getAnswerMemberCount(){
		System.out.println(questionService.getAnswerMemberCount(678));
	}
	
	public void getAnswerTimesCount(){
		System.out.println(questionService.getAnswerTimesCount(688));
	}

	/**
	 * @throws java.lang.Exception
	 */
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	/**
	 * @throws java.lang.Exception
	 */
	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	/**
	 * @throws java.lang.Exception
	 */
	@Before
	public void setUp() throws Exception {
        include("app.dicon");
	}

	/**
	 * @throws java.lang.Exception
	 */
	@After
	public void tearDown() throws Exception {
	}

}