Пример #1
0
        public StoryViewModel(Story story, ProjectViewModel projectViewModel)
            : base(projectViewModel, true)
        {
            Story = story;

            ShouldDelete = false;

            repo = App.kernel.Get<IRepository>();
        }
Пример #2
0
        public static void MapScenarios(Story story)
        {
            storySetupScenario = story.Children.FirstOrDefault(i => IsScenarioType(i, "Story Setup"));

            setupScenario = story.Children.FirstOrDefault(i => IsScenarioType(i, "Test Setup"));

            testScenarios = story.Children.Where(i => IsScenarioType(i, "Test")).ToList();

            teardownScenario = story.Children.FirstOrDefault(i => IsScenarioType(i, "Test Teardown"));

            storyTeardownScenario = story.Children.FirstOrDefault(i => IsScenarioType(i, "Story Teardown"));
        }
Пример #3
0
        public void Given_Repository(bool cleanFolders)
        {
            if(cleanFolders)
                DeleteFiles();

            serializer = new ItemJsonSerializer(dataPath);

            repo = new ItemRepository(serializer);

            repo.DataPath = dataPath;

            projectItem = repo.Create<Project>() as Project;
            storyItem = repo.Create<Story>() as Story;
            scenarioItem = repo.Create<Scenario>() as Scenario;
            interactionItem = new Interaction();
            dataItem = new DataItem();
        }
Пример #4
0
        public Story AssembleBlocks()
        {
            var story = new Story();

            foreach(Block block in blocks)
            {
                if (block.BlockType.Equals("Story"))
                    story = block.BuildStory();

                else if (block.BlockType.Equals("Before Story"))
                    story.BeforeStories.Add(block.BuildCriterion(ref BeforeCriterion));

                else if (block.BlockType.Equals("After Story"))
                    story.AfterStories.Add(block.BuildCriterion(ref BeforeCriterion));

                else if (block.BlockType.Equals("Criterion Common"))
                    story.CriterionCommon.Add(block.BuildCriterion(ref BeforeCriterion));

                else if (block.BlockType.Equals("Before Criterion"))
                    BeforeCriterion.Add(block.BuildCriterion(ref BeforeCriterion));

                else if (block.BlockType.Equals("Criterion"))
                {
                    currentCriterion = block.BuildCriterion(ref BeforeCriterion);
                    story.Criteria.Add(currentCriterion);
                }

                else if (block.BlockType.Equals("After Criterion"))
                    currentCriterion.AfterCriterion.Add(block.BuildCriterion(ref BeforeCriterion));

                else if (block.BlockType.Equals("Criterion Outline"))
                {
                    currentCriterion = block.BuildCriterionOutline(ref BeforeCriterion);
                    story.Criteria.Add(currentCriterion);
                }
            }
            return story;
        }
Пример #5
0
        public Story BuildStory()
        {
            var story = new Story();

            story.Name = Name;

            story.DescriptionLines = Lines;

            story.Tags = Tags;

            return story;
        }
Пример #6
0
        public void SaveStory(Story story)
        {
            itemSerializer.Save(story, story.Id.ToString());

            story.Scenarios.ForEach(s => itemSerializer.Save(s, s.Id.ToString()));
        }
Пример #7
0
        public Project DeleteStory(Project project, Story story)
        {
            project.StoryIds.Remove(story.Id);

            project.Stories.Remove(story);

            story.Scenarios.ForEach(s => DeleteScenario(story, s));

            DeleteFile(story.Id, story.Type);

            return project;
        }
Пример #8
0
        public Story DeleteScenario(Story story, Scenario scenario)
        {
            story.ScenarioIds.Remove(scenario.Id);

            story.Scenarios.Remove(scenario);

            scenario.Interactions.ForEach(i => DeleteInteraction(scenario, i));

            DeleteFile(scenario.Id, scenario.Type);

            return story;
        }
Пример #9
0
        public Story CreateStory(Project parentProject)
        {
            var story = new Story() { ParentId = parentProject.Id };

            var scenario = CreateScenario(story);

            parentProject.StoryIds.Add(story.Id);

            parentProject.Stories.Add(story);

            SaveProject(parentProject);

            return story;
        }
Пример #10
0
        public Scenario CreateScenario(Story parentStory)
        {
            var scenario = new Scenario() { ParentId = parentStory.Id };

            var interaction = CreateInteraction(scenario);

            parentStory.ScenarioIds.Add(scenario.Id);

            parentStory.Scenarios.Add(scenario);

            SaveStory(parentStory);

            itemSerializer.Save(scenario, scenario.Id.ToString());

            return scenario;
        }
Пример #11
0
        public void CreateStory()
        {
            var story = new Story() { ParentId = Project.Id };

            story.Name = "Name";

            Stories.Add(story);

            repo.Save<Story>(story);

            Project.ChildrenIds.Add(story.Id);

            var storyViewModel = new StoryViewModel(story, this) { IsSelected = true, IsExpanded = true };

            Children.Add(storyViewModel);

            Update();
        }
        public void GivenStory(string file)
        {
            var parser = new StoryParser(file);

            story = parser.Story;
        }
Пример #13
0
        public static StoryResult RunCriteria(Story story, StoryResult storyResult, IXmlRpcClient proxy)
        {
            story.IncludeTags = Behavior.Config.IncludeTags;
            story.ExcludeTags = Behavior.Config.ExcludeTags;
            story.Repository = Behavior.Kernel.Get<IRepository>();

            foreach (Criterion s in story.TestSequence)
            {
                if (s.CriterionType.Equals("Context Reset"))
                {
                    proxy.reset_criterion_context();

                    continue;
                }

                storyResult.CriterionResults.Add(s.Run(proxy));
            }

            return storyResult;
        }
Пример #14
0
 public static void ShouldEqual(this Story actual, Story expected)
 {
     Assert.AreEqual(expected, actual);
 }