public void TestTotalGroup_ShouldReturnTotalPossiblePoints()
        {
            var tmock  = new Mock <ITournament>();
            var ar     = new Results(@"[info]
user = ""user1""
[stage-one]
results = [ [ ""h"", ""h"", ""h"", ""u"", ""b"", ""-"",], [ ""h"", ""u"", ""h"", ""b"", ""-"", ""-"",], ]
winners = [ [ ""Brasil"", ""Mexico"",], [ ""Spania"", ""Nederland"",], ]
".ParseAsToml());
            var better = new BetterPageViewModel(tmock.Object, ar, ar);

            better.TotalGroup.ShouldBe(5 * ScoringSystem.Points.StageOneMatchOutcome +
                                       4 * ScoringSystem.Points.StageOneMatchOutcome +
                                       4 * ScoringSystem.Points.QualifyingTeam +
                                       4 * ScoringSystem.Points.QualifyingPosition);

            ar     = new Results(@"[info]
user = ""user1""
[stage-one]
results = [ [ ""h"", ""h"", ""h"", ""u"", ""b"", ""b"",], [ ""h"", ""u"", ""h"", ""b"", ""h"", ""u"",], ]
winners = [ [ ""Brasil"", ""Mexico"",], [ ""Spania"", ""Nederland"",], ]
".ParseAsToml());
            better = new BetterPageViewModel(tmock.Object, ar, ar);
            better.TotalGroup.ShouldBe(2 * 6 * ScoringSystem.Points.StageOneMatchOutcome +
                                       4 * ScoringSystem.Points.QualifyingTeam +
                                       4 * ScoringSystem.Points.QualifyingPosition);
        }
        public void TestPageTitle_ShouldReturBettersName()
        {
            var tmock  = new Mock <ITournament>();
            var r      = new Results(@"[info]
user=""foo1""
[stage-one]
results = [ [ ""h"", ""h"", ""h"", ""u"", ""b"", ""-"",], [ ""h"", ""u"", ""h"", ""b"", ""-"", ""-"",], ]
winners = [ [ ""Brasil"", ""Mexico"",], [ ""Spania"", ""Nederland"",], ]
".ParseAsToml());
            var better = new BetterPageViewModel(tmock.Object, r, r);

            better.PageTitle.ShouldBe("foo1");
        }
        public void TestFinal_ShouldReturnListOfTypeKnockoutMatch()
        {
            var tmock  = new Mock <ITournament>();
            var r      = new Results(@"[info]
user=""foo1""
[stage-one]
results = [ [ ""h"", ""h"", ""h"", ""u"", ""b"", ""-"",], [ ""h"", ""u"", ""h"", ""b"", ""-"", ""-"",], ]
winners = [ [ ""Brasil"", ""Mexico"",], [ ""Spania"", ""Nederland"",], ]
".ParseAsToml());
            var better = new BetterPageViewModel(tmock.Object, r, r);

            better.Final.ShouldBeOfType <List <BetterPageViewModel.KnockoutMatch> >();
        }
        public void TestWorldCupRules_ShouldReturnTrue_WhenTournamentTypeIsFifa()
        {
            var tm     = new Tournament(@"name = ""VM 2014 Brasil""
type = ""fifa-worldcup""
groups = [
    [""Brasil"",        ""Kroatia"",         ""Mexico"",             ""Kamerun""],
    [""Spania"",        ""Nederland"",     ""Chile"",             ""Australia""],
]".ParseAsToml());
            var r      = new Results(@"[info]
user=""foo1""
[stage-one]
results = [ [ ""h"", ""h"", ""h"", ""u"", ""b"", ""-"",], [ ""h"", ""u"", ""h"", ""b"", ""-"", ""-"",], ]
winners = [ [ ""Brasil"", ""Mexico"",], [ ""Spania"", ""Nederland"",], ]
".ParseAsToml());
            var better = new BetterPageViewModel(tm, r, r);

            better.WorldCupRules.ShouldBe(true);
        }