Esempio n. 1
0
        public void AddDataTest()                                               //	AddDataTest方法
        {                                                                       //	進入AddDataTest方法
            WaveDataStructure WaveDataStructureTest1;                           //	宣告WaveDataStructureTest1物件
            int ArrayMax = 3;                                                   //	宣告ArrayMax變數,用於給定WaveDataStructureTest物件空間

            WaveDataStructureTest1 = new WaveDataStructure(ArrayMax);           //	初始化測試物件
            if (TestingType.IsTestFailed(WaveDataStructureInitialTest(WaveDataStructureTest1)))
            {                                                                   //	進入if敘述
                Assert.Fail();                                                  //	測試失敗
            }                                                                   //	結束if敘述
            int[] TestData1 = new int[] { 3, 2, 1 };                            //	建立測試資料
            WaveDataStructureTest1.AddData(TestData1[0]);                       //	填入測試資料
            WaveDataStructureTest1.AddData(TestData1[1]);                       //	填入測試資料
            WaveDataStructureTest1.AddData(TestData1[2]);                       //	填入測試資料
            if (TestingType.IsTestFailed(WaveDataStructureMatch(WaveDataStructureTest1, TestData1)))
            {                                                                   //	進入if敘述
                Assert.Fail();                                                  //	測試失敗
            }                                                                   //	結束if敘述
            int[] TestData2 = TestData1;                                        //	宣告TestData2
            TestData2[0] = 4;
            WaveDataStructureTest1.AddData(TestData2[0]);                       //	填入測試資料
            if (TestingType.IsTestFailed(WaveDataStructureMatch(WaveDataStructureTest1, TestData2)))
            {                                                                   //	進入if敘述
                Assert.Fail();                                                  //	測試失敗
            }                                                                   //	結束if敘述
        }                                                                       //	結束AddDataTest方法
Esempio n. 2
0
        public void ResizeArrayTest()                                           //	ResizeArrayTest方法
        {                                                                       //	進入ResizeArrayTest方法
            WaveDataStructure WaveDataStructureTest1;                           //	宣告WaveDataStructureTest1物件
            int ArrayMax = 3;                                                   //	宣告ArrayMax變數,用於給定WaveDataStructureTest物件空間

            WaveDataStructureTest1 = new WaveDataStructure(ArrayMax);           //	初始化測試物件
            ArrayMax = 10;                                                      //	調整ArrayMax變數
            WaveDataStructureTest1.ResizeArray(ArrayMax);                       //	測試ResizeArray方法
            int[] TestData1 = GenerateRandomNumber(ArrayMax);                   //	生成亂數測試資料
            for (int LoopNum = 0; LoopNum < TestData1.Length; LoopNum++)        //	以for迴圈填入資料
            {                                                                   //	進入for迴圈
                WaveDataStructureTest1.AddData(TestData1[LoopNum]);             //	新增資料
            }                                                                   //	結束for迴圈
            if (TestingType.IsTestFailed(WaveDataStructureMatch(WaveDataStructureTest1, TestData1)))
            {                                                                   //	進入if敘述
                Assert.Fail();                                                  //	測試失敗
            }                                                                   //	結束if敘述
        }                                                                       //	結束ResizeArrayTest方法
Esempio n. 3
0
        }                                                                       //	結束AddDataTest方法

        /// <summary>
        /// WaveDataStructureInitialTest方法用於測試WaveDataStructure初始化功能
        /// 初始化完成後,若內部陣列空間資料皆為0,代表初始化順利完成
        /// 若初始化順利,則TestSuccess,否則TestFail
        /// </summary>
        /// <returns>回傳測試結果</returns>
        private TestingType WaveDataStructureInitialTest(WaveDataStructure InputData)
        //	WaveDataStructureInitialTest方法
        {                                                                               //	進入WaveDataStructureInitialTest方法
            TestingType Test1 = new TestingType();                                      //	建立Test1物件

            foreach (int Data in InputData.ReturnData())                                //	依序比對資料內容
            {                                                                           //	進入foreach敘述
                if (Data == 0)                                                          //	若Data為0
                {                                                                       //	進入if敘述
                    Test1.TestSuccess();                                                //	測試Success
                }                                                                       //	結束if敘述
                else                                                                    //	若Data不為0
                {                                                                       //	進入else敘述
                    Test1.TestFail();                                                   //	測試Fail
                    return(Test1);                                                      //	回傳測試結果
                }                                                                       //	結束else敘述
            }                                                                           //	結束foreach敘述
            return(Test1);                                                              //	回傳測試結果
        }                                                                               //	結束WaveDataStructureInitialTest方法
Esempio n. 4
0
        }                                                                               //	結束WaveDataStructureInitialTest方法

        /// <summary>
        /// WaveDataStructureMatch方法用於比對WaveDataStructure內容
        /// </summary>
        /// <param name="InputData1">為WaveDataStructure型態資料</param>
        /// <param name="InputData2">為欲確認之答案</param>
        /// <returns></returns>
        private TestingType WaveDataStructureMatch(WaveDataStructure InputData1, int[] InputData2)
        //	WaveDataStructureMatch方法
        {                                                                               //	進入WaveDataStructureMatch方法
            TestingType Test1    = new TestingType();                                   //	建立Test1物件
            int         CountNum = 0;                                                   //	宣告CountNum計數變數

            foreach (int Data in InputData1.ReturnData())                               //	以foreach依序取出Data
            {                                                                           //	進入foreach敘述
                if (Data == InputData2[CountNum])                                       //	若資料相同
                {                                                                       //	進入if敘述
                    Test1.TestSuccess();                                                //	測試Success
                }                                                                       //	結束if敘述
                else                                                                    //	若資料不同
                {                                                                       //	進入else敘述
                    Test1.TestFail();                                                   //	測試Fail
                    return(Test1);                                                      //	回傳測試結果
                }                                                                       //	結束else敘述
                CountNum = (CountNum + 1) % InputData2.Length;                          //	取得下一筆測試資料序號
            }                                                                           //	結束foreach敘述
            return(Test1);                                                              //	回傳測試結果
        }                                                                               //	結束WaveDataStructureMatch方法