public void AddBet_ShouldThrowArgumentException_withBetSameBetsAdded()
        {
            var match     = new Logic.Models.Match(this.sport, this.league, this.date.AddDays(5), this.homeTeam, this.visitorTeam);
            var mockedBet = new Mock <IBet>();

            match.AddBet(mockedBet.Object);

            Assert.That(
                () => match.AddBet(mockedBet.Object),
                Throws.ArgumentException.With.Message.Contains(EngineConstants.SameBetsForAMatchErrorMessage));
        }
        public void AddBet_ShouldThrowArgumentNullException_withNullBet()
        {
            var match = new Logic.Models.Match(this.sport, this.league, this.date.AddDays(5), this.homeTeam, this.visitorTeam);

            Assert.That(
                () => match.AddBet(null),
                Throws.ArgumentNullException.With.Message.Contains(string.Format(EngineConstants.ObjectCannotBeNullErrorMessage, "Bet")));
        }
        public void AddBet_ShouldAddCorrectToCollection_withValidParams()
        {
            var mockedBet = new Mock <IBet>();
            var match     = new Logic.Models.Match(this.sport, this.league, this.date.AddDays(5), this.homeTeam, this.visitorTeam);

            match.AddBet(mockedBet.Object);

            Assert.IsTrue(match.Bets.Contains(mockedBet.Object));
        }