Exemplo n.º 1
0
 /// <summary>
 /// Generates a Triangle from a valid TriangleName or valid set of Coordinates
 /// </summary>
 /// <param name="input"></param>
 public Triangle(string input)
 {
     if (input.Length < 4)
     {
         this.TriangleName = input;
         this.Coordinates  = TriangleFunctions.GenerateCoordinates(input.ToCharArray());
     }
     else
     {
         this.Coordinates  = input;
         this.TriangleName = TriangleFunctions.GenerateTriangleName(input);
     }
 }
Exemplo n.º 2
0
        public void GenerateTriangleName()
        {
            string[] validTriangleNamesCapsOnly = new string[] { "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A11", "A12",
                                                                 "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12",
                                                                 "C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", "C11", "C12",
                                                                 "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12",
                                                                 "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8", "E9", "E10", "E11", "E12",
                                                                 "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12" };

            string[] validCoordinates = new string[] { "(0,10),(0,0),(10,10)",      // A1
                                                       "(10,0),(0,0),(10,10)",      // A2
                                                       "(10,10),(10,0),(20,10)",    // A3
                                                       "(20,0),(10,0),(20,10)",     // A4
                                                       "(20,10),(20,0),(30,10)",    // A5
                                                       "(30,0),(20,0),(30,10)",     // A6
                                                       "(30,10),(30,0),(40,10)",    // A7
                                                       "(40,0),(30,0),(40,10)",     // A8
                                                       "(40,10),(40,0),(50,10)",    // A9
                                                       "(50,0),(40,0),(50,10)",     // A10
                                                       "(50,10),(50,0),(60,10)",    // A11
                                                       "(60,0),(50,0),(60,10)",     // A12

                                                       "(0,20),(0,10),(10,20)",     //  B1
                                                       "(10,10),(0,10),(10,20)",    // B2
                                                       "(10,20),(10,10),(20,20)",   // B3
                                                       "(20,10),(10,10),(20,20)",   // B4
                                                       "(20,20),(20,10),(30,20)",   // B5
                                                       "(30,10),(20,10),(30,20)",   // B6
                                                       "(30,20),(30,10),(40,20)",   // B7
                                                       "(40,10),(30,10),(40,20)",   // B8
                                                       "(40,20),(40,10),(50,20)",   // B9
                                                       "(50,10),(40,10),(50,20)",   // B10
                                                       "(50,20),(50,10),(60,20)",   // B11
                                                       "(60,10),(50,10),(60,20)",   // B12

                                                       "(0,30),(0,20),(10,30)",     // C1
                                                       "(10,20),(0,20),(10,30)",    // C2
                                                       "(10,30),(10,20),(20,30)",   // C3
                                                       "(20,20),(10,20),(20,30)",   // C4
                                                       "(20,30),(20,20),(30,30)",   // C5
                                                       "(30,20),(20,20),(30,30)",   // C6
                                                       "(30,30),(30,20),(40,30)",   // C7
                                                       "(40,20),(30,20),(40,30)",   // C8
                                                       "(40,30),(40,20),(50,30)",   // C9
                                                       "(50,20),(40,20),(50,30)",   // C10
                                                       "(50,30),(50,20),(60,30)",   // C11
                                                       "(60,20),(50,20),(60,30)",   // C12

                                                       "(0,40),(0,30),(10,40)",     // D1
                                                       "(10,30),(0,30),(10,40)",    // D2
                                                       "(10,40),(10,30),(20,40)",   // D3
                                                       "(20,30),(10,30),(20,40)",   // D4
                                                       "(20,40),(20,30),(30,40)",   // D5
                                                       "(30,30),(20,30),(30,40)",   // D6
                                                       "(30,40),(30,30),(40,40)",   // D7
                                                       "(40,30),(30,30),(40,40)",   // D8
                                                       "(40,40),(40,30),(50,40)",   // D9
                                                       "(50,30),(40,30),(50,40)",   // D10
                                                       "(50,40),(50,30),(60,40)",   // D11
                                                       "(60,30),(50,30),(60,40)",   // D12

                                                       "(0,50),(0,40),(10,50)",     // E1
                                                       "(10,40),(0,40),(10,50)",    // E2
                                                       "(10,50),(10,40),(20,50)",   // E3
                                                       "(20,40),(10,40),(20,50)",   // E4
                                                       "(20,50),(20,40),(30,50)",   // E5
                                                       "(30,40),(20,40),(30,50)",   // E6
                                                       "(30,50),(30,40),(40,50)",   // E7
                                                       "(40,40),(30,40),(40,50)",   // E8
                                                       "(40,50),(40,40),(50,50)",   // E9
                                                       "(50,40),(40,40),(50,50)",   // E10
                                                       "(50,50),(50,40),(60,50)",   // E11
                                                       "(60,40),(50,40),(60,50)",   // E12

                                                       "(0,60),(0,50),(10,60)",     // F1
                                                       "(10,50),(0,50),(10,60)",    // F2
                                                       "(10,60),(10,50),(20,60)",   // F3
                                                       "(20,50),(10,50),(20,60)",   // F4
                                                       "(20,60),(20,50),(30,60)",   // F5
                                                       "(30,50),(20,50),(30,60)",   // F6
                                                       "(30,60),(30,50),(40,60)",   // F7
                                                       "(40,50),(30,50),(40,60)",   // F8
                                                       "(40,60),(40,50),(50,60)",   // F9
                                                       "(50,50),(40,50),(50,60)",   // F10
                                                       "(50,60),(50,50),(60,60)",   // F11
                                                       "(60,50),(50,50),(60,60)" }; // F12

            for (int i = 0; i < (validTriangleNamesCapsOnly.Length - 1); i++)
            {
                Assert.AreEqual(TriangleFunctions.GenerateTriangleName(validCoordinates[i]), validTriangleNamesCapsOnly[i]);
            }
        }