Exemplo n.º 1
0
        public void CharacterDesignerWillExecuteStepsUntilCharacterIsAtStrategyLevelIfTypeIsLevelUp()
        {
            var data = new MemoryStore();

            data.SetValue("name", "Test One");
            data.SetValue("type", "levelup");
            var steps = new MemoryStore();

            steps.AddListItem(new MemoryStore("step", "Tests.Actions.CharacterGeneration.DummyStepLevelUp"));
            data.SetValue("steps", steps);

            var build = new CharacterStrategy();

            build.TargetLevel = 5;
            var character = new CharacterSheet(build);

            character.SetClass(Class.CreateForTesting());

            var designer = new CharacterDesigner(data);

            designer.ExecuteStep(character);
            Assert.Equal(designer.DesignerType, CharacterDesigner.Type.LevelUp);
            Assert.Equal(character.Level, 5);
            Assert.Equal(character.Age, 4);
        }
Exemplo n.º 2
0
        public CharacterDesignerTests()
        {
            var data = new MemoryStore();

            data.SetValue("name", "Test One");
            var steps = new MemoryStore();

            steps.AddListItem(new MemoryStore("step", "Tests.Actions.CharacterGeneration.DummyStepOne"));
            steps.AddListItem(new MemoryStore("step", "Tests.Actions.CharacterGeneration.DummyStepTwo"));
            data.SetValue("steps", steps);

            subject = new CharacterDesigner(data);
        }
Exemplo n.º 3
0
        public void IfLevelUpDoesNotIncrementLevelThrowException()
        {
            var data = new MemoryStore();

            data.SetValue("name", "Test One");
            data.SetValue("type", "levelup");

            //Does now steps that increment level
            var steps = new MemoryStore();

            data.SetValue("steps", steps);

            var build = new CharacterStrategy();

            build.TargetLevel = 5;
            var character = new CharacterSheet(build);

            var designer = new CharacterDesigner(data);

            Assert.Throws <System.InvalidOperationException>(() => designer.ExecuteStep(character));
        }
Exemplo n.º 4
0
        public void PassInConfigurationDataToStepIfAppropriate()
        {
            var data = new MemoryStore();

            data.SetValue("name", "Test One");
            var configureStep = new MemoryStore();

            configureStep.SetValue("step", "Tests.Actions.CharacterGeneration.DummyStepWithConfiguration");
            configureStep.SetValue("other-option", "fourteen");

            var steps = new MemoryStore();

            steps.AddListItem(configureStep);
            data.SetValue("steps", steps);

            var designer  = new CharacterDesigner(data);
            var character = CharacterTestTemplates.AverageBob();

            designer.ExecuteStep(character);
            Assert.Equal(configureStep, character.Get <IObjectStore>());
            Assert.Equal("fourteen", configureStep.GetString("other-option"));
        }