public void Should_count_number_of_touches_for_file()
        {
            mappingDSL
            .AddCommit("1")
            .AddFile("file1").Modified()
            .Code(100)
            .Submit()
            .AddCommit("2")
            .File("file1").Modified()
            .Code(-5).ForCodeAddedInitiallyInRevision("1")
            .Code(10)
            .AddFile("file2").Modified()
            .Code(50)
            .Submit();

            context
            .SetValue("files", (Func <ProjectFileSelectionExpression, ProjectFileSelectionExpression>)(e =>
                                                                                                       e.IdIs(selectionDSL.Files().PathIs("file1").Single().ID)
                                                                                                       ))
            .SetValue("commits", (Func <CommitSelectionExpression, CommitSelectionExpression>)(e =>
                                                                                               e.TillRevision("2")
                                                                                               ));

            PredictorValue()
            .Should().Be(2);

            context
            .SetValue("commits", (Func <CommitSelectionExpression, CommitSelectionExpression>)(e =>
                                                                                               e.AfterRevision("1").TillRevision("2")
                                                                                               ));

            PredictorValue()
            .Should().Be(1);
        }
        private static CodeBlockSelectionExpression CodeInFilesTillRevision(this PredictorContext c)
        {
            c.SetValue("commits", (Func <CommitSelectionExpression, CommitSelectionExpression>)(e =>
                                                                                                e.TillRevision(c.GetValue <string>("till_revision"))
                                                                                                ));

            return(CodeInCommitsInFiles(c));
        }