Example #1
0
        public void MixedConnections()
        {
            companyGraph = new CompanyGraph.CompanyGraph();

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


            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(VIK, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(VIK, Non), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, Non), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(VIK, MentorMate), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, MentorMate), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(VIK, Non), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(MentorMate, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(MentorMate, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(MentorMate, Zdravkova), true);
        }
Example #2
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);
        }
Example #3
0
 public void BothCompaniesNotInGraph()
 {
     companyGraph = new CompanyGraph.CompanyGraph();
     Assert.AreEqual(companyGraph.AreConnectedDepthFirst(VIK, SBTech), false);
     Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(VIK, SBTech), false);
     Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, SBTech), false);
 }
Example #4
0
        public void BranchedConnections()
        {
            companyGraph = new CompanyGraph.CompanyGraph();

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

            companyGraph.Add(SBTech, new List <Company> {
                Zdravkova
            });
            companyGraph.Add(SBTech, new List <Company> {
                Non
            });
            companyGraph.Add(SBTech, new List <Company> {
                Tesla
            });

            companyGraph.Add(Unconnected, new List <Company> {
            });

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

            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(VIK, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(VIK, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, Zdravkova), true);

            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(MentorMate, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(MentorMate, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(MentorMate, Zdravkova), true);

            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(Unconnected, Zdravkova), false);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(Unconnected, Zdravkova), false);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(Unconnected, Zdravkova), false);
        }
Example #5
0
        public void OneCompanyNotInGraph()
        {
            companyGraph = new CompanyGraph.CompanyGraph();

            companyGraph.Add(VIK, new List <Company> {
            });

            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(VIK, SBTech), false);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(VIK, SBTech), false);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, SBTech), false);
        }
Example #6
0
        public void SingleCompanyInGraph()
        {
            companyGraph = new CompanyGraph.CompanyGraph();

            companyGraph.Add(VIK, new List <Company> {
            });


            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(VIK, VIK), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(VIK, VIK), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, VIK), true);
        }
Example #7
0
        public void LinearConnections()
        {
            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.Add(Unconnected, new List <Company> {
            });

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

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

            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(Zdravkova, Kodar), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(Zdravkova, Kodar), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(Zdravkova, Kodar), true);

            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(Zdravkova, Unconnected), false);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(Zdravkova, Unconnected), false);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(Zdravkova, Unconnected), false);
        }
Example #8
0
        public void ManyCompaniesToOneFromDifferentConnections()
        {
            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
            });

            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(VIK, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(VIK, Zdravkova), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(VIK, Zdravkova), true);

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

            Assert.AreEqual(companyGraph.AreConnectedDepthFirst(Kodar, Non), true);
            Assert.AreEqual(companyGraph.AreConnectedBreadthFirst(Kodar, Non), true);
            Assert.AreEqual(companyGraph.AreConnectedDepthFirstIterative(Kodar, Non), true);
        }