コード例 #1
0
 private static void test(StringsConcatenating stringsConcatenating, Scalar <string> separatorScalar)
 {
     stringsConcatenating.ValidateConsistency();
     separatorScalar.Change("");
     stringsConcatenating.ValidateConsistency();
     separatorScalar.Change("~!");
     stringsConcatenating.ValidateConsistency();
     separatorScalar.Change("#$%");
     stringsConcatenating.ValidateConsistency();
     separatorScalar.Change("^&");
     stringsConcatenating.ValidateConsistency();
 }
 private void test(StringsConcatenating stringsConcatenating, Scalar <string> separatorScalar)
 {
     stringsConcatenating.ValidateInternalConsistency();
     separatorScalar.Change("");
     stringsConcatenating.ValidateInternalConsistency();
     separatorScalar.Change("~!");
     stringsConcatenating.ValidateInternalConsistency();
     separatorScalar.Change("#$%");
     stringsConcatenating.ValidateInternalConsistency();
     separatorScalar.Change("^&");
     stringsConcatenating.ValidateInternalConsistency();
     consumer.Dispose();
 }
コード例 #3
0
        private void test(int[] charsCounts)
        {
            string testNum    = string.Empty;
            int    index      = 0;
            int    charsCount = 0;
            int    indexOld   = 0;
            int    indexNew   = 0;
            int    index1     = 0;
            ObservableCollection <string> strings;
            StringsConcatenating          stringsConcatenating;
            Scalar <string> separatorScalar;

            try
            {
                trace(testNum        = "1", charsCounts, index, charsCount, indexOld, indexNew);
                strings              = getObservableCollections(charsCounts);
                separatorScalar      = new Scalar <string>("*");
                stringsConcatenating = strings.StringsConcatenating(separatorScalar).For(consumer);
                test(stringsConcatenating, separatorScalar);

                for (index = 0; index < charsCounts.Length; index++)
                {
                    trace(testNum   = "2", charsCounts, index, charsCount, indexOld, indexNew);
                    strings         = getObservableCollections(charsCounts);
                    separatorScalar = new Scalar <string>("*");
                    StringsConcatenating concatenating1 = strings.StringsConcatenating(separatorScalar).For(consumer);
                    strings.RemoveAt(index);
                    test(concatenating1, separatorScalar);
                }

                for (index = 0; index <= charsCounts.Length; index++)
                {
                    for (charsCount = 0; charsCount <= charsCounts.Length; charsCount++)
                    {
                        trace(testNum   = "11", charsCounts, index, charsCount, indexOld, indexNew);
                        strings         = getObservableCollections(charsCounts);
                        separatorScalar = new Scalar <string>("*");
                        StringsConcatenating concatenating2 = strings.StringsConcatenating(separatorScalar).For(consumer);
                        strings.Insert(index, getString(charsCount));
                        test(concatenating2, separatorScalar);
                    }
                }

                for (index = 0; index < charsCounts.Length; index++)
                {
                    trace(testNum   = "6", charsCounts, index, charsCount, indexOld, indexNew);
                    strings         = getObservableCollections(charsCounts);
                    separatorScalar = new Scalar <string>("*");
                    StringsConcatenating concatenating3 = strings.StringsConcatenating(separatorScalar).For(consumer);
                    strings[index] = string.Empty;
                    test(concatenating3, separatorScalar);

                    for (charsCount = 0; charsCount <= charsCounts.Length; charsCount++)
                    {
                        trace(testNum   = "3", charsCounts, index, charsCount, indexOld, indexNew);
                        strings         = getObservableCollections(charsCounts);
                        separatorScalar = new Scalar <string>("*");
                        StringsConcatenating concatenating2 = strings.StringsConcatenating(separatorScalar).For(consumer);
                        strings[index] = getString(charsCount);
                        test(concatenating2, separatorScalar);
                    }
                }

                for (index = 0; index < charsCounts.Length; index++)
                {
                    trace(testNum   = "4", charsCounts, index, charsCount, indexOld, indexNew);
                    strings         = getObservableCollections(charsCounts);
                    separatorScalar = new Scalar <string>("*");
                    StringsConcatenating concatenating1 = strings.StringsConcatenating(separatorScalar).For(consumer);
                    strings[index] = null;
                    test(concatenating1, separatorScalar);

                    for (charsCount = 0; charsCount <= charsCounts.Length; charsCount++)
                    {
                        trace(testNum   = "5", charsCounts, index, charsCount, indexOld, indexNew);
                        strings         = getObservableCollections(charsCounts);
                        separatorScalar = new Scalar <string>("*");
                        StringsConcatenating concatenating2 = strings.StringsConcatenating(separatorScalar).For(consumer);
                        strings[index] = getString(charsCount);
                        test(concatenating2, separatorScalar);
                    }
                }

                for (indexOld = 0; indexOld < charsCounts.Length; indexOld++)
                {
                    for (indexNew = 0; indexNew < charsCounts.Length; indexNew++)
                    {
                        trace(testNum   = "6", charsCounts, index, charsCount, indexOld, indexNew);
                        strings         = getObservableCollections(charsCounts);
                        separatorScalar = new Scalar <string>("*");
                        StringsConcatenating concatenating2 = strings.StringsConcatenating(separatorScalar).For(consumer);
                        strings.Move(indexOld, indexNew);
                        test(concatenating2, separatorScalar);
                    }
                }
            }
            catch (Exception e)
            {
                string traceString = getTraceString(
                    testNum,
                    charsCounts,
                    index,
                    charsCount,
                    indexOld,
                    indexNew,
                    index1);
                _textFileOutputLog.AppentLine(traceString);
                _textFileOutputLog.AppentLine(e.Message);
                _textFileOutputLog.AppentLine(e.StackTrace);
                throw new Exception(traceString, e);
            }

            writeUsefulTest(getTestString(charsCounts));
        }