package test;

import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

import antlr.collections.List;

import com.dao.impl.DBConnector;

import junit.framework.TestCase;

public class Test extends TestCase{

   /*
    * 测试数据库链接状况
    */
   public void testSQL(){
   Connection conn=null;
   try {
       conn =    DBConnector.getMySQLConnection(null, null, null, "test", "root", "123");
   } catch (ClassNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
   } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
   }
   if(conn == null) {
       System.out.println("创建连接失败!");
   }else{
       System.out.println("创建连接成功!");        
   }
   System.out.println("##################");
   }
   /*
    * 获取字符串中某个字符/字符串的起始位置,判断是否存在
    */
   public int getR(String str2){
       int s=0;
       String str1 = "abakdvalkdn";
       s = str1.indexOf(str2);
       if(s!=0){
           return s;
       }else{
           return 0;
       }

   }
   /*
    * 将字符串均变为00 00 00 00 00 00--17位标准字符串形式
    */
   public void toRightString(){
       String a = "000000000000";
       String input = "in";
       input = a + input;
       input = input.substring(input.length() - 12);
       System.out.println(input+"需要获得的正确长度的字符串");
       String inputArr[] = new String[6];
       StringBuilder result = new StringBuilder(20);
       for (int i = 0; i < 6; i++) {
           inputArr[i] = input.substring(i * 2, i * 2 + 2);
       }

       for (int j = 0; j < 5; j++) {
           result.append(inputArr[j]).append(' ');
       }
       System.out.println("RESULT:"+result.append(inputArr[5]).toString());
   }
    String changeString(String input) {
           // 预处理input,长度不够12的时候,在前面填充0
           // 例如 input = 123时,转换为 000000000123
           String a = "000000000000";
           input = a + input;
           input = input.substring(input.length()-12);

           String inputArr[] = new String[6];
           StringBuilder result = new StringBuilder(20);
           for (int i = 0; i < 6; i++) {
               inputArr[i] = input.substring(i * 2, i * 2 + 2);
           }

           for (int j = 0; j < 5; j++) {
               result.append(inputArr[j]).append(' ');
           }

           return result.append(inputArr[5]).toString();//返回分割好的字符串
       }
   /*
    *     1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。
    *    2. StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
    *  3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
    *    概括之,就是解析字符串
    */
   public void testByte(){
       byte[] pasw = new byte[4];
       String passwd="19 00 00 00";
       StringTokenizer ps = new StringTokenizer(passwd);
       int index = 0;
       System.out.println(ps.countTokens()+"%%%");
       System.out.println(passwd.length()+"LENGTH");
       while (ps.hasMoreTokens()) {
           try {
               pasw[index++] = (byte) Integer.parseInt(ps.nextToken(), 16);
           } catch (NumberFormatException p) {
               System.out.println("-4@");
           }
       }
       for(int i = 0;i<pasw.length;i++){
       System.out.println(pasw.length+"长度"+pasw[i]);}
   }

   /*
    * string 转换为INT
    */
   public void itoS(){
       String string = "00 00 00 00 01 12";
       String ss =string.substring(3);
       System.out.println(string.replace(" ", ""));
       StringBuffer sb = new StringBuffer();
       int i;
       i = Integer.parseInt(ss);
       System.out.println(i+":转换结果");
       String [] s;
       Map map = new HashMap();
       map.put("商品数量", string);
       map.put("货位信息", string);
       s = map.toString().split(",");
       for(int j = 0 ;j<s.length;j++){
           sb.append(s[j]+"\n");
       }
       System.out.println(sb.toString());

   }

   public void toFloat(){
       String string = "00009";
       float f = Float.parseFloat(string);
       System.out.println(f+":00909099");
   }
   public void toTO(){
       String string = "000000000002&7";
       int i = string.indexOf("&");
       System.out.println(i);
   }

   public void getSomething() throws UnsupportedEncodingException{
//        Map map = new HashMap();
       JSONObject map = new JSONObject();
       map.put("part_no", "1");

       map.put("parea","2");
       map.put("sLocation","3");
       map.put("qty","3");
       String s = map.toString();
       System.out.println(s);

   }
   public void getU(){
       String s1 = "cs2013";
       String s2 = s1.toUpperCase();
       System.out.println(s2+":s2");
   }

   public static void main(String[] args) throws UnsupportedEncodingException{
       Test test = new Test();
       test.getR("dn");
       System.out.println("toRightString结果");
       test.toRightString();
       test.testByte();
       System.out.println(test.changeString(String.valueOf(1)));
       test.toFloat();
       test.toTO();
       test.getSomething();
       test.getU();
   }


}