コード例 #1
0
        public void TestMethodCalculaDistancias()
        {
            List <Ponto> listaPontos = new List <Ponto>();

            Ponto ponto1 = new Ponto();

            ponto1.PontoA = 1;
            ponto1.PontoB = 1;

            Ponto ponto2 = new Ponto();

            ponto2.PontoA = 5;
            ponto2.PontoB = 6;

            Ponto ponto3 = new Ponto();

            ponto3.PontoA = 2;
            ponto3.PontoB = 9;

            Ponto ponto4 = new Ponto();

            ponto4.PontoA = 12;
            ponto4.PontoB = 20;

            Ponto ponto5 = new Ponto();

            ponto5.PontoA = 10;
            ponto5.PontoB = 14;

            listaPontos.Add(ponto1);
            listaPontos.Add(ponto2);
            listaPontos.Add(ponto3);
            listaPontos.Add(ponto4);
            listaPontos.Add(ponto5);

            Ponto pontoOrigem = new Ponto();

            pontoOrigem.PontoA = 6;
            pontoOrigem.PontoB = 4;

            Dictionary <Ponto, double> listPontoEsperada = new Dictionary <Ponto, double>();

            listPontoEsperada.Add(ponto1, 2);
            listPontoEsperada.Add(ponto2, 2.23607);
            listPontoEsperada.Add(ponto5, 4.47214);

            CollectionAssert.AreEqual(listPontoEsperada, distancia.CalculaDistancias(pontoOrigem, listaPontos));
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Distancia    distancia     = Distancia.Instance;
            List <Ponto> listaDePontos = PegarValoresAmigos();


            Console.WriteLine("");
            Console.WriteLine("Menores Distâncias");
            foreach (Ponto posicao in listaDePontos)
            {
                Console.WriteLine("Para Ponto : [" + posicao.PontoA + "," + posicao.PontoB + "]");
                foreach (KeyValuePair <Ponto, double> valor in distancia.CalculaDistancias(posicao, listaDePontos))
                {
                    Console.WriteLine("Ponto : [" + valor.Key.PontoA + "," + valor.Key.PontoB + "] : Valor : " + valor.Value);
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }