コード例 #1
0
        public void Context_CalculatesEasyPointsForMyTeamSet()
        {
            var aflSet = new List <string>
            {
                "ADEL",
                "ESS",
                "GEEL",
                "PORT",
                "COLL"
            };
            var nrlSet = new List <string>
            {
                "WTIG",
                "BULL",
                "SSYD",
                "SHRK",
                "BRIS"
            };
            var cut = new TippingContext();

            foreach (var team in aflSet)
            {
                _output.WriteLine($"{team} : {cut.EasyPointsForTeam("AFL",team)}");
            }
            foreach (var team in nrlSet)
            {
                _output.WriteLine($"{team} : {cut.EasyPointsForTeam("NRL", team)}");
            }
        }
コード例 #2
0
        public void Context_KnowsNextAflRound()
        {
            var cut    = new TippingContext();
            var result = cut.NextRound("AFL");

            Assert.True(result == 1);
        }
コード例 #3
0
        public void Context_CalculatesTotalEasyPointsForMyTeamSet()
        {
            var aflSet = new List <string>
            {
                "ADEL",
                "ESS",
                "GEEL",
                "PORT",
                "COLL"
            };
            var nrlSet = new List <string>
            {
                "WTIG",
                "BULL",
                "SSYD",
                "SHRK",
                "BRIS"
            };
            var cut    = new TippingContext();
            var result = cut.EasyPoints(
                aflSet: aflSet,
                nrlSet: nrlSet);

            _output.WriteLine($"Points so far {result}");
        }
コード例 #4
0
        public void Context_KnowsNrlTeamRecords()
        {
            var cut    = new TippingContext();
            var result = cut.TeamRecords("NRL");

            _output.WriteLine(result);
        }
コード例 #5
0
        public void Context_KnowsAflMaxScore()
        {
            var cut    = new TippingContext();
            var result = cut.MaxScore("AFL");

            Assert.True(result == 151,
                        $"Max score Calculated = {result}");
        }
コード例 #6
0
        public void Context_KnowsNrlMinScore()
        {
            var cut    = new TippingContext();
            var result = cut.MinScore("NRL");

            Assert.True(result == 0,
                        $"Min score Calculated = {result}");
        }
コード例 #7
0
        public void Context_KnowsAflHomeFieldAdvantage()
        {
            var cut    = new TippingContext();
            var result = cut.HomeFieldAdvantage("AFL");

            Assert.True(result == 3,
                        $"Home field Advantage calculated = {result}");
        }
コード例 #8
0
        public void Context_KnowsNrlAverageMarginOfVictory()
        {
            var cut    = new TippingContext();
            var result = cut.AverageMargin("NRL");

            Assert.True(result == 14M,
                        $"Average margin calculated = {result}");
        }
コード例 #9
0
        public void Context_KnowsAflAverageScore()
        {
            var cut    = new TippingContext();
            var result = cut.AverageScore("AFL");

            Assert.True(result == 80.0M,
                        $"Average score Calculated = {result}");
        }
コード例 #10
0
        public void Context_KnowsAflAverageScoreForGeelong()
        {
            var teamCode = "GEEL";
            var cut      = new TippingContext();
            var result   = cut.AverageScore("AFL", teamCode);

            Assert.True(result == 90M,
                        $"Average score calculated for {teamCode} = {result}");
        }
コード例 #11
0
        public void Context_KnowsAflAverageScoreForHawthorn()
        {
            var teamCode = "HAW";
            var cut      = new TippingContext();
            var result   = cut.AverageScore("AFL", teamCode);

            Assert.True(result == 79.0M,
                        $"Average score calculated for {teamCode} = {result}");
        }
コード例 #12
0
        public void Context_CanFeedGames()
        {
            var testProcessor = new TestProcessor(
                _output);
            var cut = new TippingContext();

            cut.ProcessLeagueSchedule(
                "NFL",
                testProcessor);
        }
コード例 #13
0
        public void Context_KnowsAflPastRecordForStKilda()
        {
            var teamCode = "STK";
            var cut      = new TippingContext();
            var result   = cut.PastRecord("AFL", teamCode);

            _output.WriteLine(result.ToString());
            //Assert.True(result == 75.0M,
            //    $"Average score calculated for {teamCode} = {result}");
        }
コード例 #14
0
        public void Context_KnowsNrlLatestFormOfTitans()
        {
            var cut = new TippingContext();

            var result = cut.FormLast(
                4,
                leagueCode: "NRL",
                teamCode: "TITN");

            _output.WriteLine(result);
        }
コード例 #15
0
        public void Context_KnowsNrlTeams()
        {
            var cut    = new TippingContext();
            var result = cut.GetTeams("NRL");

            foreach (var item in result)
            {
                _output.WriteLine(item);
            }
            Assert.True(result.Count == 16,
                        $"AFL Teams counted = {result.Count}");
        }
コード例 #16
0
 private static void PastLeagueStats(
     string league,
     TippingContext context)
 {
     if (string.IsNullOrEmpty(league))
     {
         Console.WriteLine(context.LastYearsStats("AFL"));
         Console.WriteLine(context.LastYearsStats("NRL"));
         return;
     }
     Console.WriteLine(context.LastYearsStats(league));
 }
コード例 #17
0
        public void Context_KnowsNrlFormOfTitans()
        {
            var cut = new TippingContext();

            Assert.True(
                cut.LeaguePastResults["NRL"].Count == 25); //rounds

            var result = cut.CurrentForm(
                leagueCode: "NRL",
                teamCode: "TITN");

            _output.WriteLine(result);
        }
コード例 #18
0
        public void Context_KnowsAflPreviousStats()
        {
            var cut    = new TippingContext();
            var result = cut.LastYearsStats("AFL");

            _output.WriteLine(result.ToString());
            Assert.True(result.TotalGames == 22 * 9,
                        $"Average score Calculated = {result.TotalGames}");
            Assert.True(result.TeamScoreAverage == 80,
                        $"Average team score = {result.TeamScoreAverage}");
            Assert.True(result.TeamScoreMode == 69,
                        $"Most common score = {result.TeamScoreMode}");
        }
コード例 #19
0
 public TableTipster(TippingContext context)
     :  base(context)
 {
     RankedTeams = new string[16]
     {
         "MELB",
         "SYDR",
         "SSYD",
         "CANB",
         "PARR",
         "MANL",
         "SHRK",
         "BRIS",
         "WTIG",
         "PENR",
         "NEWC",
         "BULL",
         "NZW",
         "NQLD",
         "DRAG",
         "TITN"
     };
 }
コード例 #20
0
 public BaseTipster(
     TippingContext context)
 {
     Context     = context;
     Predictions = new List <PredictedResult>();
 }
コード例 #21
0
        /// <summary>
        ///    -l AFL -r 2
        ///    -l AFL -o pl  //  previous ladder
        ///    -l AFL -o ps  //  stats
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            var context = new TippingContext();

            //TODO: some validation could go here
            Console.WriteLine(
                $"There are {context.LeagueCount()} leagues");
            Console.WriteLine(
                $"League NRL has {context.ScheduledRoundCount("NRL")} rounds scheduled");
            Console.WriteLine(
                $"League AFL has {context.ScheduledRoundCount("AFL")} rounds scheduled");
            //context.DumpResults("NRL");
            var options = new Options();
            var result  = Parser.Default.ParseArguments <Options>(args)
                          .WithParsed(o => options.League = o.League)
                          .WithParsed(o => options.Output = o.Output)
                          .WithParsed(o => options.Round  = o.Round);

            if (!string.IsNullOrEmpty(options.Output) &&
                options.Output.Equals("ps"))
            {
                PastLeagueStats(
                    options.League,
                    context);
                return;
            }
            var round = 1;
//          var tipster = new TableTipster(context);
            var tipster = new NibbleTipster(context);

            if (string.IsNullOrEmpty(
                    options.League))
            {
                Console.WriteLine("=== NRL ==================================================");
                tipster.ShowTips(
                    "NRL",
                    context.NextRound("NRL"));
                Console.WriteLine();
                Console.WriteLine(
                    tipster.DumpRatings(
                        "NRL"));
                tipster.ClearRatings();
                Console.WriteLine("=== AFL ==================================================");
                tipster.ShowTips(
                    "AFL",
                    context.NextRound("AFL"));
                Console.WriteLine();
                Console.WriteLine(
                    tipster.DumpRatings(
                        "AFL"));
            }
            else
            {
                if (options.Round == 0)
                {
                    round = context.NextRound(
                        options.League);
                }
                else
                {
                    round = options.Round;
                }
                Console.WriteLine(
                    $"Command is TIP {options.League} Round {round}");
                tipster.ShowTips(
                    options.League,
                    round);
                Console.WriteLine();
                Console.WriteLine(
                    tipster.DumpRatings(
                        options.League));
            }
        }
コード例 #22
0
 public NibbleTipster(
     TippingContext context) : base(context)
 {
     Ratings = new Dictionary <string, NibbleRating>();
 }