Esempio n. 1
0
        public void RemovingACompany()
        {
            companyGraph = new CompanyGraph.CompanyGraph();

            companyGraph.Add(VIK, new List <Company> {
                Kodar
            });
            companyGraph.Add(Kodar, new List <Company> {
                SBTech
            });
            companyGraph.Add(SBTech, new List <Company> {
                MentorMate
            });
            companyGraph.Add(MentorMate, new List <Company> {
                Zdravkova
            });
            companyGraph.Add(Zdravkova, new List <Company> {
                Non
            });
            companyGraph.Remove(SBTech);
            companyGraph.Add(Unconnected, new List <Company> {
            });

            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(VIK, Non), false);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(VIK, Non), false);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, Non), false);

            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(MentorMate, Non), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(MentorMate, Non), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(MentorMate, Non), true);
        }
        public void ShortestPathIsCorrectAfterRemovingACompany()
        {
            companyGraph = new CompanyGraph.CompanyGraph();


            companyGraph.Add(VIK, new List <Company> {
                Kodar, SBTech, MentorMate
            });
            companyGraph.Add(Kodar, new List <Company> {
                Zdravkova
            });
            companyGraph.Add(SBTech, new List <Company> {
                Zdravkova
            });
            companyGraph.Add(MentorMate, new List <Company> {
                Zdravkova
            });
            companyGraph.Add(Zdravkova, new List <Company> {
                Non
            });
            companyGraph.Add(MentorMate, new List <Company> {
                Non
            });
            companyGraph.Remove(MentorMate);
            List <string> shortestPath = new List <string> {
                Zdravkova.Name, SBTech.Name, VIK.Name
            };
            List <string> shortestPathToNon = new List <string> {
                Non.Name, Zdravkova.Name, SBTech.Name, VIK.Name
            };

            Assert.AreEqual(companyGraph.FindShortestPath(VIK, Zdravkova), shortestPath);
            Assert.AreEqual(companyGraph.FindShortestPath(VIK, Non), shortestPathToNon);
        }