示例#1
0
        public void PołączGrupy_ZnajdujeKolejneGrupy_ZTegoSamegoPoziomuZagłębienia()
        {
            JednoPołączenie grupa2 = new JednoPołączenie()
            {
                IndeksOd          = 3,
                IndeksDo          = 4,
                PoziomZagłębienia = 1
            };
            JednoPołączenie grupa3 = new JednoPołączenie()
            {
                IndeksOd          = 3,
                IndeksDo          = 5,
                PoziomZagłębienia = 2
            };


            var algorytm = new HierarchicznaAnalizaSkupień(dane, MetodaSkupień.PojedynczegoPołączenia);

            algorytm.PołączGrupy();

            JednoPołączenie uzyskanaGrupa = algorytm.PołączGrupy();

            Assert.AreEqual(grupa2, uzyskanaGrupa);

            uzyskanaGrupa = algorytm.PołączGrupy();
            Assert.AreEqual(grupa3, uzyskanaGrupa);
        }
示例#2
0
        public void PołączGrupy_ZnajdujeWłaściwąGrupę_Krok1()
        {
            JednoPołączenie grupa = new JednoPołączenie()
            {
                IndeksOd          = 7,
                IndeksDo          = 8,
                PoziomZagłębienia = 1
            };

            var             algorytm      = new HierarchicznaAnalizaSkupień(dane, MetodaSkupień.PojedynczegoPołączenia);
            JednoPołączenie uzyskanaGrupa = algorytm.PołączGrupy();

            Assert.AreEqual(grupa, uzyskanaGrupa);
        }
        public void Execute(object parameter)
        {
            if (algorytm == null)
            {
                if (vm.punkty == null)
                {
                    throw new ApplicationException("Coś poszło niezgodnie z naturą");
                }
                algorytm = new HierarchicznaAnalizaSkupień(vm.punkty, vm.metoda);
            }

            vm.CośJestMielone = true;
            JednoPołączenie połączenie = algorytm.PołączGrupy();

            if (vm.rysownik == null)
            {
                throw new ApplicationException("Coś poszło niezgodnie z naturą");
            }
            vm.rysownik.RysujPołączenie(połączenie);
            vm.CośJestMielone = false;
        }
示例#4
0
        public void PołączGrupy_ZnajdujeKolejneGrupy_ZKolejnychPoziomów()
        {
            List <JednoPołączenie> grupyOd4Do9 = new List <JednoPołączenie>
            {
                new JednoPołączenie()
                {
                    IndeksOd = 0, IndeksDo = 2, PoziomZagłębienia = 2
                },
                new JednoPołączenie()
                {
                    IndeksOd = 0, IndeksDo = 5, PoziomZagłębienia = 5
                },
                new JednoPołączenie()
                {
                    IndeksOd = 0, IndeksDo = 6, PoziomZagłębienia = 6
                },
                new JednoPołączenie()
                {
                    IndeksOd = 0, IndeksDo = 8, PoziomZagłębienia = 8
                },
                new JednoPołączenie()
                {
                    IndeksOd = 0, IndeksDo = 9, PoziomZagłębienia = 9
                }
            };

            var algorytm = new HierarchicznaAnalizaSkupień(dane, MetodaSkupień.PojedynczegoPołączenia);

            for (int i = 1; i <= 3; ++i)
            {
                algorytm.PołączGrupy();
            }

            for (int i = 4; i <= 9; ++i)
            {
                JednoPołączenie uzyskanaGrupa = algorytm.PołączGrupy();
                //Assert.AreEqual(grupyOd4Do9[i], uzyskanaGrupa);
            }
        }