public void ExecuteStep(CharacterSheet character) { var storyTemplate = descriptors.Find("character-appearance").Words.ChooseOne(); var expansion = new PhraseTemplate(storyTemplate); character.Appearance.Description = expansion.WritePhrase(new CharacterContext(character)); }
public void ExecuteStep(CharacterSheet character) { var storyTemplate = descriptors.Find("background-story").Words.ChooseOne(); var expansion = new PhraseTemplate(storyTemplate); var story = new BackgroundStory(expansion.WritePhrase(new CharacterContext(character))); character.Add(story); }
public void PhrasesCanCompileTemplates() { var template = "Hello {{name}}."; var phrase = new PhraseTemplate(template); var context = new PhraseContext() { { "name", "Bob" } }; var result = phrase.WritePhrase(context); Assert.Equal("Hello Bob.", result); }
public void PhrasesCanCascadeCallsToOtherTemplatesIfNecessary() { var template = "Good Day, {{name}}."; var phrase = new PhraseTemplate(template); var context = new PhraseContext() { { "name", "{{fullname}}" }, { "fullname", "Bob Woodward" } }; var result = phrase.WritePhrase(context); Assert.Equal("Good Day, Bob Woodward.", result); }