示例#1
0
 public override bool Equals(object obj)
 {
     if (obj is CaseKey)
     {
         CaseKey ck = (CaseKey)obj;
         return(ck.rule == rule && ck.suit == suit && ck.caseName == caseName && ck.field == field);
     }
     else
     {
         return(false);
     }
 }
示例#2
0
        protected static void RecordMultiResult(CaseKey key, TestValue[] tvs, string table)
        {
            DataRecord dr = new DataRecord();

            dr.AddField("rule", key.rule);
            dr.AddField("suit", key.suit);
            dr.AddField("case", key.caseName);
            dr.AddField("field", tvs[0].Name);
            dr.AddField("value", TestValue.ToRecords(tvs));

            Debug.LogFormat("table:{0}, dr:{1}", table, dr);

            MysqlUtil.Add(dr, table, FreeRuleConfig.MysqlConnection);
        }
示例#3
0
        public void RecordResult(CaseKey key, TestValue[] tvs)
        {
            Initial();

            //if (correct.ContainsKey(key))
            //{
            //    TestValue[] old = correct[key];

            //    if (old.Length == tvs.Length)
            //    {
            //        bool same = true;
            //        for (int i = 0; i < tvs.Length; i++)
            //        {
            //            if (!tvs[i].IsSame(old[i]))
            //            {
            //                same = false;
            //                break;
            //            }
            //        }
            //        if (!same)
            //        {
            //            RecordMultiResult(key, tvs, TableWrong);
            //        }
            //    }
            //    else
            //    {
            //        RecordMultiResult(key, tvs, TableWrong);
            //    }

            //}
            //else if (wrong.ContainsKey(key))
            //{

            //}
            //else
            //{
            RecordMultiResult(key, tvs, TableUncheck);
            //}
        }
示例#4
0
        private static void Initial()
        {
            if (correct == null)
            {
                correct = new Dictionary <CaseKey, TestValue[]>();
                wrong   = new Dictionary <CaseKey, TestValue[]>();

                List <DataRecord> list = MysqlUtil.SelectRecords("select * from " + TableCorrect, FreeRuleConfig.MysqlConnection);
                foreach (DataRecord dr in list)
                {
                    CaseKey ck = new CaseKey();
                    ck.rule     = dr.GetValue("rule");
                    ck.suit     = dr.GetValue("suit");
                    ck.caseName = dr.GetValue("case");
                    ck.field    = dr.GetValue("field");

                    if (!correct.ContainsKey(ck))
                    {
                        correct.Add(ck, TestValue.RecordsFromString(dr.GetValue("value")));
                    }
                }

                list = MysqlUtil.SelectRecords("select * from " + TableWrong, FreeRuleConfig.MysqlConnection);
                foreach (DataRecord dr in list)
                {
                    CaseKey ck = new CaseKey();
                    ck.rule     = dr.GetValue("rule");
                    ck.suit     = dr.GetValue("suit");
                    ck.caseName = dr.GetValue("case");
                    ck.field    = dr.GetValue("field");

                    if (!correct.ContainsKey(ck))
                    {
                        wrong.Add(ck, TestValue.RecordsFromString(dr.GetValue("value")));
                    }
                }
            }
        }