示例#1
0
 private ExaminationEvent PurifyTheText(
     NewsArticleCommand article,
     ExaminationEvent result)
 {
     //  get rid of the full stop at the end
     if (article.ArticleText.Substring(Math.Max(0, article.ArticleText.Length - 1)) == ".")
     {
         article.ArticleText = article.ArticleText.Substring(0, article.ArticleText.Length - 1);
     }
     //  get rid of commas
     article.ArticleText = article.ArticleText.Replace(",", string.Empty);
     //  get rid of the term exclusive rights free agent
     article.ArticleText = article.ArticleText.Replace("exclusive rights free agent ", string.Empty);
     //  get rid of the term restricted free agent
     article.ArticleText = article.ArticleText.Replace("restricted free agent ", string.Empty);
     //  Treat "agreed to terms with" as "signed"
     article.ArticleText = article.ArticleText.Replace("agreed to terms with", "signed");
     //  Treat "has agreed to a pay cut signing" as "signed"
     article.ArticleText = article.ArticleText.Replace("has agreed to a pay cut signing", "is signing");
     //  Treat "re-signed" as "signed"
     article.ArticleText = article.ArticleText.Replace("re-signed", "signed");
     //  Treat "claimed" as "signed"
     article.ArticleText = article.ArticleText.Replace("claimed", "signed");
     //  Treat "has retired" as "is retiring"
     article.ArticleText = article.ArticleText.Replace("has retired", "is retiring");
     //  Treat "waived/failed physical" as "waived"
     article.ArticleText = article.ArticleText.Replace("waived/failed physical", "waived");
     //  Treat "waived/released" as "waived"
     article.ArticleText = article.ArticleText.Replace("waived/released", "waived");
     //  Get rid of the positions
     article.ArticleText = StripOutPositions(article.ArticleText, result);
     //  remove possessives
     article.ArticleText = article.ArticleText.Replace("'s", "");
     return(result);
 }
示例#2
0
        public void TestSingleQuotes()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Packers waived J'Mon Moore"
            };

            Console.WriteLine(article);
            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.AreEqual("WAIVER", result.RecommendedAction);
        }
示例#3
0
        public void TestInconsequentialCutSideEffect()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Ego Ferguson and Jeremiah Ratliff are candidates to start at defensive end now that Ray McDonald has been cut."
            };

            Console.WriteLine(article);
            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.AreEqual("IGNORE", result.RecommendedAction);
        }
示例#4
0
        public void TestPlayersigningaERFA()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2018, 03, 11),
                ArticleText = "ESPN's Field Yates reports Lions DE Kerry Hyder signed his ERFA tender worth $638,000."
            };
            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("IGNORE", result.RecommendedAction);
        }
示例#5
0
        public void TestIsRetirementNull()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2019, 8, 30),
                ArticleText = "Jacoby Brissett will be the Colts' Week 1 starter following the retirement of Andrew Luck."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
        }
示例#6
0
        public void TestExtraTraining()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 03, 08),
                ArticleText = "Zach Ertz spent two weeks this offseason working with former Cowboys OL coach Hudson Houck on his blocking."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("IGNORE", result.RecommendedAction);
        }
示例#7
0
        public void TestSigningRobertQuinn()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2018, 02, 28),
                ArticleText = "ESPN's Adam Schefter reports the Dolphins have acquired DE Robert Quinn from the Rams."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("TRADE", result.RecommendedAction);
        }
示例#8
0
        public void PayCut_IsNotACut()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2018, 2, 26),
                ArticleText = "NFL Network's Tom Pelissero reports Marshawn Lynch took a $500,000 pay cut from the Raiders before a $1 million roster bonus was due on Saturday."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsCut);
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.AreEqual("IGNORE", result.RecommendedAction);              //  its a pay cut
        }
示例#9
0
        public void TestMinorInjury()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Shaun Draughn missed the 49ers' second preseason game with a rib injury."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("IGNORE", result.RecommendedAction);
        }
示例#10
0
        public void TestPwaSigning()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2018, 3, 6),
                ArticleText = "Bills signed DE Owa Odighizuwa to a one-year contract."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("SIGN", result.RecommendedAction);
            Assert.AreEqual("BB", result.TeamId);
        }
示例#11
0
        public void TestSmithTrade()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2018, 3, 10),
                ArticleText = "Eagles acquired CB Daryl Worley in exchange for WR Torrey Smith."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("TRADE", result.RecommendedAction);
            Assert.AreEqual("PE", result.TeamId);
        }
示例#12
0
        public void TestOfferSheet()
        {
            //  Ignore Offer sheets (not official)
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Packers restricted free agent CB Sean Richardson has signed an offer sheet with the Raiders."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("IGNORE", result.RecommendedAction);
        }
示例#13
0
        public void TestLocatesReleases()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Cowboys released RB DeMarco Murray."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsCut);
            Assert.IsFalse(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.AreEqual("CUT", result.RecommendedAction);
        }
示例#14
0
        public void TestIgnoresUnknownReleases()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Lions released G Rodney Austin."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsCut);
            Assert.IsFalse(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.AreEqual("IGNORE", result.RecommendedAction);
        }
示例#15
0
        public void TestBergersRetirements()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2018, 03, 25),
                ArticleText = "RG Joe Berger announced his retirement after 13 NFL seasons."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsCut);
            Assert.IsFalse(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsTrue(result.IsRetirement);
            Assert.AreEqual("RETIRED", result.RecommendedAction);
        }
示例#16
0
        public void TestLocatesRetirements()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 03, 01),
                ArticleText = "Former Cardinals SS Adrian Wilson announced his retirement from football."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsCut);
            Assert.IsFalse(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsTrue(result.IsRetirement);
            Assert.AreEqual("RETIRED", result.RecommendedAction);
        }
示例#17
0
        public void TestLocatesSigning()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Dolphins signed WR LaRon Byrd."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.AreEqual("BYRDLA01", result.PlayerId);
            Assert.AreEqual("MD", result.TeamId);
            Assert.AreEqual("SIGN", result.RecommendedAction);
        }
示例#18
0
        public void TestDraftPick2()
        {
            //  Ignore Offer sheets (not official)
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 05, 05),
                ArticleText = "Seahawks signed seventh-round DB Ryan Murphy to a four-year contract."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("IGNORE", result.RecommendedAction);
        }
示例#19
0
        public void TestWaiverClaim()
        {
            //  Ignore Offer sheets (not official)
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Bears claimed OT Paul Cornick off waivers from the Broncos."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsSigning);              //  waiver claim treated the same
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("NEWBIE", result.RecommendedAction);              //  dont know him
        }
示例#20
0
        public void TestDraftPick()
        {
            //  Ignore Offer sheets (not official)
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 04, 28),
                ArticleText = "Jets signed No. 6 overall pick DE Leonard Williams to a four-year, $18.6 million contract."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("IGNORE", result.RecommendedAction);
        }
示例#21
0
        public void TestTroyPolamalu()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 03, 08),
                ArticleText = "Troy Polamalu is retiring from the NFL."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsCut);
            Assert.IsFalse(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsTrue(result.IsRetirement);
            Assert.AreEqual("RETIRED", result.RecommendedAction);
        }
示例#22
0
        public void TestAcquiringTalib()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2018, 3, 6),
                ArticleText = "Rams acquired CB Aqib Talib from the Broncos in exchange for a fifth-round pick."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("TRADE", result.RecommendedAction);
            Assert.AreEqual("LR", result.TeamId);
        }
示例#23
0
        public void TestLocatesTrade()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 04, 08),
                ArticleText = "Bucs acquired DE George Johnson and a late-round pick from the Lions in exchange for a late-round pick."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.IsFalse(result.IsWaiver);
            Assert.AreEqual("JOHNGE01", result.PlayerId);
            Assert.AreEqual("TB", result.TeamId);
            Assert.AreEqual("TRADE", result.RecommendedAction);
        }
示例#24
0
        public void TestFirstWaiver()
        {
            //  Ignore Offer sheets (not official)
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Cardinals waived/released CB Roc Carmichael and RB Zach Bauman."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.AreEqual("AC", result.TeamId);
            Assert.AreEqual("IGNORE", result.RecommendedAction);              //  dont know him
        }
示例#25
0
        public void TestLocatesWaivers()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Chiefs waived TE Sean McGrath."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.AreEqual("MCGRSE01", result.PlayerId);
            Assert.AreEqual("KC", result.TeamId);
            Assert.AreEqual("WAIVER", result.RecommendedAction);
        }
示例#26
0
        public void TestInjuredReserve()
        {
            //  those that put a player out for the season
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 12, 08),
                ArticleText = "Giants placed DB Josh Gordy on injured reserve, ending his season."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsInjury);
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.AreEqual("NG", result.TeamId);
            Assert.AreEqual("INJURY", result.RecommendedAction);              //  mark him as OUT
        }
示例#27
0
        public void TestCJ()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2018, 3, 18),
                ArticleText = "Texans TE C.J.Fiedorowicz has retired after four seasons in the NFL."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsCut);
            Assert.IsFalse(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsTrue(result.IsRetirement);
            Assert.AreEqual("RETIRED", result.RecommendedAction);
            Assert.AreEqual("FIEDC.01", result.PlayerId);
        }
示例#28
0
        public void TestRyanHarris()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 3, 3),
                ArticleText = "Steelers OT Ryan Harris retired from the NFL after 10 seasons."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsCut);
            Assert.IsFalse(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsTrue(result.IsRetirement);
            Assert.AreEqual("RETIRED", result.RecommendedAction);
            Assert.AreEqual("HARRRY01", result.PlayerId);
        }
示例#29
0
        public void TestBradyEwing()
        {
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2017, 08, 08),
                ArticleText = "Free agent FB Bradie Ewing has retired from the NFL."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsFalse(result.IsCut);
            Assert.IsFalse(result.IsWaiver);
            Assert.IsFalse(result.IsSigning);
            Assert.IsTrue(result.IsRetirement);
            Assert.AreEqual("RETIRED", result.RecommendedAction);
            Assert.AreEqual("EWINBR01", result.PlayerId);
        }
示例#30
0
        public void TestBadInjury()
        {
            //  those that put a player out for the season
            var article = new NewsArticleCommand
            {
                ArticleDate = new DateTime(2015, 08, 08),
                ArticleText = "Jets TE Zach Sudfeld tore his ACL during Organized Team Activities and will miss the 2015 season."
            };

            Console.WriteLine(article);

            var result = sut.ExamineArticle(article);

            Console.WriteLine(result);
            result.DumpEvent();
            Assert.IsTrue(result.IsInjury);
            Assert.IsFalse(result.IsSigning);
            Assert.IsFalse(result.IsRetirement);
            Assert.AreEqual("NJ", result.TeamId);
            Assert.AreEqual("INJURY", result.RecommendedAction);              //  mark him as OUT
        }