public void Can_Check_Feat_Prereqs_When_False() { Feat feat = FeatBuilder.Get().Build(); var character = new Character(); Feat sut = FeatBuilder.Get(2).Build(); sut.AddFeatPrereq(feat); Check.That(sut.CanBeTakenBy(character)).IsFalse(); }
public void Can_Add_Feat_Prereqs() { Feat feat = FeatBuilder.Get().Build(); Feat sut = FeatBuilder.Get(2).Build(); sut.AddFeatPrereq(feat); Check.That(sut.Prereqs).HasSize(1); Check.That(sut.PrereqFeats).ContainsExactly(feat); Check.That(feat.Dependents).ContainsExactly(sut); }
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_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(); }