Ejemplo n.º 1
0
        static int?Part2(HashSet <int> input)
        {
            var triple = PairsFinder.FindTriple(2020, input);

            return(triple == null
                                ? (int?)null
                                : triple.Value.Item1 *triple.Value.Item2 *triple.Value.Item3);
        }
Ejemplo n.º 2
0
        static int?Part1(HashSet <int> input)
        {
            var pair = PairsFinder.FindPair(2020, input);

            return(pair == null
                                ? (int?)null
                                : pair.Value.Item1 *pair.Value.Item2);
        }
Ejemplo n.º 3
0
        public void Returns_Empty_Results_When_Given_Empty_List()
        {
            var persons     = new List <Person>();
            var pairsFinder = new PairsFinder(persons);

            var result = pairsFinder.FindBy(PairingCriteria.ClosestByAge);

            Assert.Null(result.Person1);
            Assert.Null(result.Person2);
        }
Ejemplo n.º 4
0
        public void Returns_Closest_Two_For_Four_People()
        {
            var persons = new List <Person> {
                Greg, Mike, Sarah, Sue
            };
            var pairsFinder = new PairsFinder(persons);

            var result = pairsFinder.FindBy(PairingCriteria.ClosestByAge);

            Assert.Same(Sue, result.Person1);
            Assert.Same(Greg, result.Person2);
        }
Ejemplo n.º 5
0
        public void Returns_Furthest_Two_For_Two_People()
        {
            var persons = new List <Person> {
                Greg, Mike
            };
            var pairsFinder = new PairsFinder(persons);

            var result = pairsFinder.FindBy(PairingCriteria.FurthestByAge);

            Assert.Same(Greg, result.Person1);
            Assert.Same(Mike, result.Person2);
        }
Ejemplo n.º 6
0
        public void Returns_Furthest_Two_For_Four_People()
        {
            var persons = new List <Person> {
                Greg, Mike, Sarah, Sue
            };
            var pairsFinder = new PairsFinder(persons);

            var result = pairsFinder.FindBy(PairingCriteria.FurthestByAge);

            Assert.Same(Sue, result.YoungerPerson);
            Assert.Same(Sarah, result.OlderPerson);
        }
Ejemplo n.º 7
0
        public void Returns_Closest_Two_For_Two_People()
        {
            var persons = new List <Person> {
                Sue, Greg
            };
            var pairsFinder = new PairsFinder(persons);

            var result = pairsFinder.FindBy(PairingCriteria.ClosestByAge);

            Assert.Same(Sue, result.YoungerPerson);
            Assert.Same(Greg, result.OlderPerson);
        }
Ejemplo n.º 8
0
        public void Returns_Empty_Results_When_Given_One_Person()
        {
            var persons = new List <Person> {
                Sue
            };
            var pairsFinder = new PairsFinder(persons);

            var result = pairsFinder.FindBy(PairingCriteria.ClosestByAge);

            Assert.Null(result.YoungerPerson);
            Assert.Null(result.OlderPerson);
        }