public PokerHandParserToUse(IPokerHandParser parser)
 {
     parser.LogVerbose = false;
     _parsers          = new List <IPokerHandParser> {
         parser
     };
 }
Exemple #2
0
 public void _Init()
 {
     _container = new UnityContainer();
     _container
     .RegisterConstructor <IAquiredPokerAction, AquiredPokerAction>()
     .RegisterConstructor <IAquiredPokerRound, AquiredPokerRound>()
     .RegisterConstructor <IAquiredPokerPlayer, AquiredPokerPlayer>()
     .RegisterConstructor <IAquiredPokerHand, AquiredPokerHand>();
     _parser            = _container.Resolve <PokerHandParser>();
     _parser.LogVerbose = true;
 }
        public IEnumerable <IConvertedPokerHand> RetrieveAndConvert(string handHistories, string fileName)
        {
            // Make sure we parse doubles correctly
            Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);

            IPokerHandParser parser = FindCorrectParserFor(handHistories);

            bool didNotFindParser = parser == null;

            if (didNotFindParser)
            {
                throw new UnrecognizedHandHistoryFormatException(fileName);
            }

            IDictionary <ulong, string> containedHandHistories = parser.ExtractSeparateHandHistories(handHistories);

            return(CollectHandsContainedIn(containedHandHistories, parser));
        }
        IConvertedPokerHand GetConvertedHandHistoryFromPreviouslyParsedHandsOrParser(
            KeyValuePair <ulong, string> handHistory, IPokerHandParser parser)
        {
            if (_parsedHands.ContainsKey(handHistory.Key))
            {
                return(_parsedHands[handHistory.Key]);
            }

            IAquiredPokerHand aquiredPokerHand;

            if (parser.ParseHand(handHistory.Value).IsValid)
            {
                aquiredPokerHand = parser.AquiredPokerHand;
            }
            else
            {
                throw new UnableToParseHandHistoryException("Parser: " + parser);
            }

            return(ConvertHandAndAddToParsedHands(aquiredPokerHand));
        }
        IEnumerable <IConvertedPokerHand> CollectHandsContainedIn(
            IEnumerable <KeyValuePair <ulong, string> > containedHandHistories, IPokerHandParser parser)
        {
            var convertedPokerHands = new List <IConvertedPokerHand>();

            foreach (KeyValuePair <ulong, string> handHistory in containedHandHistories)
            {
                try
                {
                    IConvertedPokerHand convertedPokerHand =
                        GetConvertedHandHistoryFromPreviouslyParsedHandsOrParser(handHistory, parser);

                    convertedPokerHands.Add(convertedPokerHand);
                }
                catch (Exception excep)
                {
                    Log.Error(excep);
                }
            }

            return(convertedPokerHands);
        }
Exemple #6
0
 public IPokerHandParsers Add(IPokerHandParser parser)
 {
     _parsers.Add(parser);
     return(this);
 }