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); }
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)); }
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); }
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); }
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); }