public void Can_Check_Stat_Prereqs_When_False() { var character = new Character(StatBlock.With().Default().Str(14).Build()); StatBlock prereq = StatBlock.With().Str(15).Build(); Feat sut = FeatBuilder.Get().Build(); sut.AddStatPrereq(prereq); Check.That(sut.CanBeTakenBy(character)).IsFalse(); }
public void Can_Check_Complex_Prereqs_When_Satisfies() { Feat feat = FeatBuilder.Get().Build(); var character = new Character(StatBlock.With().Default().Str(14).Build(), new[] { feat }); StatBlock stat = StatBlock.With().Str(13).Build(); Feat sut = FeatBuilder.Get().Build(); sut.AddFeatPrereq(feat); sut.AddStatPrereq(stat); Check.That(sut.CanBeTakenBy(character)).IsTrue(); }
public void Can_Add_Stat_Prereqs() { StatBlock stat = StatBlock.With().Str(15).Bab(6).Build(); Feat sut = FeatBuilder.Get().Build(); sut.AddStatPrereq(stat); Check.That(sut.Prereqs).HasSize(1); Check.That(sut.PrereqFeats).IsEmpty(); Check.That(sut.Prereqs.First()).IsInstanceOf <StatPrereq>(); Check.That(((StatPrereq)sut.Prereqs.First()).Constraints) .HasSize(2).And.ContainsPair(Stat.Str, 15) .And.ContainsPair(Stat.Bab, 6); }
public void Can_Check_Complex_Prereqs_When_Does_Not_Satisfy(bool goodFeat, bool goodStat) { Feat feat = FeatBuilder.Get().Build(); var character = new Character( StatBlock.With().Default() .Str(goodStat ? 14 : 12).Build(), goodFeat ? new[] { feat } : new Feat[] {} ); StatBlock stat = StatBlock.With().Str(13).Build(); Feat sut = FeatBuilder.Get().Build(); sut.AddFeatPrereq(feat); sut.AddStatPrereq(stat); Check.That(sut.CanBeTakenBy(character)).IsFalse(); }