Пример #1
0
 public static void TestExpectingColorPairwhenCalledWithAValidpairNumber(int pairNumber, Color ExpectedMajor, Color ExpectedMinor)
 {
     ColorCode.ColorPair testPair1 = ColorMap.GetColorFromPairNumber(pairNumber);
     Console.WriteLine("[In]Pair Number: {0},[Out] Colors: {1}\n", pairNumber, testPair1);
     Debug.Assert(testPair1.majorColor == ExpectedMajor);
     Debug.Assert(testPair1.minorColor == ExpectedMinor);
 }
Пример #2
0
        public static int GetPairNumberFromColor(ColorCode.ColorPair pair)
        {
            int majorIndex = -1;

            for (int i = 0; i < ColorCode.colorMapMajor.Length; i++)
            {
                if (ColorCode.colorMapMajor[i] == pair.majorColor)
                {
                    majorIndex = i;
                    break;
                }
            }
            int minorIndex = -1;

            for (int i = 0; i < ColorCode.colorMapMinor.Length; i++)
            {
                if (ColorCode.colorMapMinor[i] == pair.minorColor)
                {
                    minorIndex = i;
                    break;
                }
            }
            if (majorIndex == -1 || minorIndex == -1)
            {
                throw new ArgumentException(string.Format("Unknown Colors: {0}", pair.ToString()));
            }
            return((majorIndex * ColorCode.colorMapMinor.Length) + (minorIndex + 1));
        }
Пример #3
0
        public static void TestExpectingPairNumberwhenCalledWithAValidColorPair(Color Major, Color Minor, int ExpectedPairNumber)
        {
            int pairNumber;

            ColorCode.ColorPair testPair = new ColorCode.ColorPair()
            {
                majorColor = Major, minorColor = Minor
            };
            pairNumber = ColorMap.GetPairNumberFromColor(testPair);
            Console.WriteLine("[In]Colors: {0}, [Out] PairNumber: {1}\n", testPair, pairNumber);
            Debug.Assert(pairNumber == ExpectedPairNumber);
        }
        public static string GetManual(int numberOfMajorColors, int numberOfMinorColors)
        {
            int    outerLoopCount = 0, innerLoopCount = 0, pairNumber = 1;
            string allPairs = "";

            for (outerLoopCount = 0; outerLoopCount < numberOfMajorColors; outerLoopCount++)
            {
                for (innerLoopCount = 0; innerLoopCount < numberOfMinorColors; innerLoopCount++)
                {
                    ColorCode.ColorPair colorPair = ColorMap.GetColorFromPairNumber(pairNumber);
                    allPairs += getFormattedLine(pairNumber, colorPair.ToString());
                    pairNumber++;
                }
            }
            return(allPairs);
        }
Пример #5
0
        static void Main(string[] args)
        {
            int minorSize  = ColorCode.colorMapMajor.Length;
            int majorSize  = ColorCode.colorMapMajor.Length;
            int pairNumber = 4;

            ColorCode.ColorPair testPair1 = ColorMap.GetColorFromPairNumber(pairNumber);
            Console.WriteLine("[In]Pair Number: {0},[Out] Colors: {1}\n", pairNumber, testPair1);
            Debug.Assert(testPair1.majorColor == Color.White);
            Debug.Assert(testPair1.minorColor == Color.Brown);

            pairNumber = 5;
            testPair1  = ColorMap.GetColorFromPairNumber(pairNumber);
            Console.WriteLine("[In]Pair Number: {0},[Out] Colors: {1}\n", pairNumber, testPair1);
            Debug.Assert(testPair1.majorColor == Color.White);
            Debug.Assert(testPair1.minorColor == Color.SlateGray);

            pairNumber = 23;
            testPair1  = ColorMap.GetColorFromPairNumber(pairNumber);
            Console.WriteLine("[In]Pair Number: {0},[Out] Colors: {1}\n", pairNumber, testPair1);
            Debug.Assert(testPair1.majorColor == Color.Violet);
            Debug.Assert(testPair1.minorColor == Color.Green);

            ColorCode.ColorPair testPair2 = new ColorCode.ColorPair()
            {
                majorColor = Color.Yellow, minorColor = Color.Green
            };
            pairNumber = ColorMap.GetPairNumberFromColor(testPair2);
            Console.WriteLine("[In]Colors: {0}, [Out] PairNumber: {1}\n", testPair2, pairNumber);
            Debug.Assert(pairNumber == 18);

            testPair2 = new ColorCode.ColorPair()
            {
                majorColor = Color.Red, minorColor = Color.Blue
            };
            pairNumber = ColorMap.GetPairNumberFromColor(testPair2);
            Console.WriteLine("[In]Colors: {0}, [Out] PairNumber: {1}", testPair2, pairNumber);
            Debug.Assert(pairNumber == 6);
            string Manual = NewFeature.GetManual(majorSize, minorSize);

            Console.WriteLine(Manual);
        }
Пример #6
0
        public static ColorCode.ColorPair GetColorFromPairNumber(int pairNumber)
        {
            int minorSize = ColorCode.colorMapMajor.Length;
            int majorSize = ColorCode.colorMapMajor.Length;

            if (pairNumber < 1 || pairNumber > minorSize * majorSize)
            {
                throw new ArgumentOutOfRangeException(
                          string.Format("Argument PairNumber:{0} is outside the allowed range", pairNumber));
            }
            int zeroBasedPairNumber = pairNumber - 1;
            int majorIndex          = zeroBasedPairNumber / minorSize;
            int minorIndex          = zeroBasedPairNumber % minorSize;

            ColorCode.ColorPair pair = new ColorCode.ColorPair()
            {
                majorColor = ColorCode.colorMapMajor[majorIndex],
                minorColor = ColorCode.colorMapMinor[minorIndex]
            };
            return(pair);
        }