Пример #1
0
        private string GetSpecificAlignmentRequirement(Item item)
        {
            var itemsWithSpecificAlignments = attributesSelector.SelectFrom(TableNameConstants.Collections.Set.ItemAlignmentRequirements, "Items");

            if (itemsWithSpecificAlignments.Contains(item.Name))
            {
                return(attributesSelector.SelectFrom(TableNameConstants.Collections.Set.ItemAlignmentRequirements, item.Name).Single());
            }

            var alignments   = AlignmentConstants.GetAllAlignments();
            var requirements = alignments.Where(a => item.Traits.Any(t => t.Contains(a)));

            if (requirements.Any())
            {
                //INFO: If there is more than 1 alignment requirement in the traits, then there is a problem
                return(requirements.Single());
            }

            alignments   = AlignmentConstants.GetAllPartialAlignments();
            requirements = alignments.Where(a => item.Traits.Any(t => t.Contains(a)));

            if (requirements.Any())
            {
                //INFO: If there is more than 1 partial alignment requirement in the traits, then there is a problem
                //i.e., they either conflict or should have been a full alignment requriement
                return(requirements.Single());
            }

            return(string.Empty);
        }
Пример #2
0
        public void AllPartialAlignments()
        {
            var partialAlignments = AlignmentConstants.GetAllPartialAlignments();

            Assert.That(partialAlignments, Contains.Item(AlignmentConstants.Chaotic));
            Assert.That(partialAlignments, Contains.Item(AlignmentConstants.Evil));
            Assert.That(partialAlignments, Contains.Item(AlignmentConstants.Good));
            Assert.That(partialAlignments, Contains.Item(AlignmentConstants.Lawful));
            Assert.That(partialAlignments, Contains.Item(AlignmentConstants.Neutral));
            Assert.That(partialAlignments.Count(), Is.EqualTo(5));
        }
Пример #3
0
        public void AllAlignments()
        {
            var alignments = AlignmentConstants.GetAllAlignments();

            Assert.That(alignments, Contains.Item(AlignmentConstants.ChaoticEvil));
            Assert.That(alignments, Contains.Item(AlignmentConstants.ChaoticGood));
            Assert.That(alignments, Contains.Item(AlignmentConstants.ChaoticNeutral));
            Assert.That(alignments, Contains.Item(AlignmentConstants.LawfulEvil));
            Assert.That(alignments, Contains.Item(AlignmentConstants.LawfulGood));
            Assert.That(alignments, Contains.Item(AlignmentConstants.LawfulNeutral));
            Assert.That(alignments, Contains.Item(AlignmentConstants.NeutralEvil));
            Assert.That(alignments, Contains.Item(AlignmentConstants.NeutralGood));
            Assert.That(alignments, Contains.Item(AlignmentConstants.TrueNeutral));
            Assert.That(alignments.Count(), Is.EqualTo(9));
        }