Esempio n. 1
0
        static void Main()
        {
            //TODO: replace this test data with the real data
            var ben = new Programmer("Ben");
            ben.Skills.Add(Skills.CSharp);
            ben.Skills.Add(Skills.Java);
            var adrian = new Programmer("Adrian");
            adrian.Skills.Add(Skills.CSharp);
            adrian.Skills.Add(Skills.Ruby);

            ben.Recommendations.Add(adrian);


            var programmers = new List<Programmer>()
                                  {
                                              adrian,
                                              ben
                                  };

            var formatter = new SimpleFormatter();
            var report = formatter.Format(programmers);

            Console.Write(report);

            Console.ReadLine();
        }
Esempio n. 2
0
        public ParsedProgrammer(Programmer programmer)
        {
            if (programmer == null)
            {
                throw new ArgumentNullException("programmer");
            }

            this.programmer = programmer;
        }
Esempio n. 3
0
        private static IEnumerable<Programmer> Case1()
        {
            var a = new Programmer("A");
            var b = new Programmer("B");

            a.Recommendations.Add(b);
            b.Recommendations.Add(a);

            return new[] {a, b};
        }
        public void TestThat_diplays_a_single_programmer()
        {
            var simpleFormatter = new SimpleFormatter();

            var adrian = new Programmer("Adrian");
            var programmer = new Programmer("Ben");
            programmer.Skills.Add(Skills.CSharp);
            programmer.Recommendations.Add(adrian);
            var report = simpleFormatter.Format(new[] {programmer});

            StringAssert.Contains("Ben", report);
            StringAssert.Contains("CSharp", report);
            StringAssert.Contains("Adrian", report);
        }
Esempio n. 5
0
        public void CalculateRightRank()
        {
            var A = new Programmer("A");
            var B = new Programmer("B");
            var C = new Programmer("C");
            var D = new Programmer("D");
            B.Recommendations.Add(A);
            C.Recommendations.Add(A);
            A.Recommendations.Add(C);
            B.Recommendations.Add(C);
            D.Recommendations.Add(C);

            var network = new List<Programmer> { A,B,C,D };

            var rankEngine = new RankEngine();
            rankEngine.CalculateRank(network);
            Assert.That(network.Single(x=>x.Name=="D").Rank,Is.EqualTo(0.15));
        }
        public void JonnyHasNoRecommendations()
        {
            var jonny = new Programmer("Jonny");
            var jack = new Programmer("Jack");
            var matt = new Programmer("Matt");
            jonny.Recommendations.Add(jack);
            jonny.Recommendations.Add(matt);

            var network = new List<Programmer> {jonny, jack, matt};

            var engine = new IncomingReccomandationEngine();

            Dictionary<Programmer, int> incomingResults = engine.CalculateIncomingRecommendations(network);

            Assert.That(incomingResults[jonny], Is.EqualTo(0));
            Assert.That(incomingResults[jack], Is.EqualTo(1));
            Assert.That(incomingResults[matt], Is.EqualTo(1));
        }
Esempio n. 7
0
        private static IEnumerable<Programmer> Case2()
        {
            var a = new Programmer("A");
            var b = new Programmer("B");
            var c = new Programmer("C");
            var d = new Programmer("D");
            
            a.Recommendations.Add(b);
            a.Recommendations.Add(c);
            
            b.Recommendations.Add(c);

            c.Recommendations.Add(a);
            
            d.Recommendations.Add(c);

            return new[] {a, b, c, d};
        }