예제 #1
0
        public void Same_nobles_of_list_should_be_compared_correctly()
        {
            var nobles  = Nobles.GetNobles();
            var isabel1 = nobles.ElementAt(0);
            var isabel2 = nobles.ElementAt(0);

            isabel1.Should().Be(isabel2);

            isabel1.Equals(isabel2).Should().BeTrue();
        }
예제 #2
0
        public void Should_distinguish_nobles_in_a_list()
        {
            var nobles  = Nobles.GetNobles();
            var isabel1 = nobles.ElementAt(0);
            var isabel2 = nobles.ElementAt(0);

            var list = new List <Noble>()
            {
                isabel1,
                isabel2
            };

            list.Distinct().Count().Should().Be(1);
        }
예제 #3
0
        public void Noble_requirements_should_be_compensated()
        {
            var nobles = Nobles.GetNobles();

            var list = new List <(Gem gem, int count)>();

            foreach (var gem in Gems.GetAllGems())
            {
                int count = 0;
                foreach (var noble in nobles)
                {
                    count += noble.RequiredQuantity(gem);
                }
                list.Add((gem, count));
            }

            list.Select(x => x.count).Distinct().Count().Should().Be(1);
        }