public void Can_Add_Dependents() { Feat feat = FeatBuilder.Get().Build(); Feat sut = FeatBuilder.Get(2).Build(); sut.AddDependent(feat); Check.That(sut.Dependents).ContainsExactly(feat); }
public void Can_Check_That_Character_Satisfies() { Feat feat = FeatBuilder.Get().Build(); var character = new Character(new [] { feat }); var sut = new FeatPrereq(feat); Check.That(sut.IsSatisfiedBy(character)).IsTrue(); }
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_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 When_Added_To_Feat_Adds_Feat_To_Dependents() { Feat target = FeatBuilder.Get().Build(); Feat feat = FeatBuilder.Get(2).Build(); var sut = new FeatPrereq(feat); sut.OnAddedToFeat(target); Check.That(feat.Dependents).ContainsExactly(target); }
public void Can_Check_That_Character_Does_Not_Satisfy() { Feat feat = FeatBuilder.Get().Build(); Feat feat2 = FeatBuilder.Get(2).Build(); var character = new Character(new [] { feat }); var sut = new FeatPrereq(feat2); Check.That(sut.IsSatisfiedBy(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_Be_Created_By_Builder_With_Num() { FeatBuilder builder = FeatBuilder.Get(2); Feat sut = builder.Build(); Check.That(sut.Name).IsEqualTo("Feat02"); Check.That(sut.TextCategory).IsEqualTo("Cat02"); Check.That(sut.TextPrereq).IsEqualTo("Prereq02"); Check.That(sut.TextBenefit).IsEqualTo("Benefit02"); Check.That(sut.TextSource).IsEqualTo("Source02"); }
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_Be_Created_By_Builder_Customized() { FeatBuilder builder = FeatBuilder.Get() .WithName("Feat02").WithTextCategory("Cat02") .WithTextPrereq("Prereq02").WithTextBenefit("Benefit02") .WithTextSource("Source02"); Feat sut = builder.Build(); Check.That(sut.Name).IsEqualTo("Feat02"); Check.That(sut.TextCategory).IsEqualTo("Cat02"); Check.That(sut.TextPrereq).IsEqualTo("Prereq02"); Check.That(sut.TextBenefit).IsEqualTo("Benefit02"); Check.That(sut.TextSource).IsEqualTo("Source02"); }
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(); }
public void Can_Be_Created_With_Feats() { Feat feat = FeatBuilder.Get().Build(); Feat feat2 = FeatBuilder.Get(2).Build(); var sut = new Character(new [] { feat, feat2 }); Check.That(sut.Feats).HasSize(2); Check.That(sut.Feats).Contains(feat, feat2).InThatOrder(); Check.That(sut.Stats.Str).IsEqualTo(10); Check.That(sut.Stats.Dex).IsEqualTo(10); Check.That(sut.Stats.Con).IsEqualTo(10); Check.That(sut.Stats.Int).IsEqualTo(10); Check.That(sut.Stats.Wis).IsEqualTo(10); Check.That(sut.Stats.Cha).IsEqualTo(10); Check.That(sut.Stats.Bab).IsEqualTo(1); Check.That(sut.Stats.Cl).IsEqualTo(-1); }
public void Can_Be_Created_With_Feats_And_Stats() { StatBlock stats = StatBlock.With() .Str(13).Dex(14).Con(15) .Int(16).Wis(17).Cha(18) .Bab(3).Cl(5).Build(); Feat feat = FeatBuilder.Get().Build(); Feat feat2 = FeatBuilder.Get(2).Build(); var sut = new Character(stats, new [] { feat, feat2 }); Check.That(sut.Feats).HasSize(2); Check.That(sut.Feats).Contains(feat, feat2).InThatOrder(); Check.That(sut.Stats.Str).IsEqualTo(13); Check.That(sut.Stats.Dex).IsEqualTo(14); Check.That(sut.Stats.Con).IsEqualTo(15); Check.That(sut.Stats.Int).IsEqualTo(16); Check.That(sut.Stats.Wis).IsEqualTo(17); Check.That(sut.Stats.Cha).IsEqualTo(18); Check.That(sut.Stats.Bab).IsEqualTo(3); Check.That(sut.Stats.Cl).IsEqualTo(5); }