public void TestItCallsTheOnGameRecordListHandlerCorrectly()
    {
        GameRecord game = new GameRecord(1, BackgroundSelector.RoomType.ROOM_DAY, DateTime.Now);

        List <GameRecord> games = new List <GameRecord> ();

        games.Add(game);

        GameRecordMessage single = new GameRecordMessage();

        single.Game = game;

        GameRecordListMessage msg = new GameRecordListMessage();

        msg.Factory = factoryMock;
        msg.Games   = games;

        factoryMock.GameRecord(game).Returns(single);

        writer.Write(msg);

        clientMock.RegisterHandler(
            Arg.Any <short>(),
            Arg.InvokeDelegate <NetworkMessageDelegate>(message)
            );

        subject.RegisterOnGameRecordList(delegate(List <GameRecord> list) {
            Assert.True(list[0].Seed == 1);
        });
    }
예제 #2
0
    public virtual GameRecordMessage GameRecord(GameRecord game)
    {
        GameRecordMessage msg = new GameRecordMessage();

        msg.Game    = game;
        msg.Factory = this;

        return(msg);
    }
 public void RegisterOnGameRecord(RegisterGameRecord callback)
 {
     server.RegisterHandler(
         GameRecordMessage.Type,
         delegate(NetworkMessage netMsg) {
         GameRecordMessage msg = netMsg.ReadMessage <GameRecordMessage>();
         netMsg.conn.Send(
             StatusMessage.Type,
             factory.Status(callback(msg.Game))
             );
     }
         );
 }
    public void TestItSendsAGameRecordCorrectly()
    {
        GameRecordMessage msg  = Substitute.For <GameRecordMessage>();
        GameRecord        game = new GameRecord(1, BackgroundSelector.RoomType.ROOM_DAY, DateTime.Now);

        factoryMock.GameRecord(game).Returns(msg);

        subject.SendGameRecord(game);

        factoryMock.Received().GameRecord(game);

        clientMock.Received().Send(
            GameRecordMessage.Type,
            msg
            );
    }
예제 #5
0
        static void Main(string[] args)
        {
            var files = Directory.GetFiles(@"C:\DATA\RetroSheet", "2014PIT*.EV*");

            var system          = ActorSystem.Create("baseball");
            var gameCoordinator = system.ActorOf <GameCoordinator>("gameCoordinator");

            foreach (var file in files)
            {
                Console.WriteLine("Processing {0}", file);
                using (var stream = new FileStream(file, FileMode.Open, FileAccess.Read))
                {
                    var reader = new StreamReader(stream);
                    var gameId = "";
                    while (!reader.EndOfStream)
                    {
                        var item   = reader.ReadLine();
                        var record = GameRecordParser.Parse(item);

                        if (record is IdGameRecord)
                        {
                            gameId = ((IdGameRecord)record).Id;
                        }

                        var msg = new GameRecordMessage(gameId, record);

                        gameCoordinator.Tell(msg);
                    }

                    gameCoordinator.Tell(new EndOfFeed());
                }
                Console.WriteLine("Completed {0}", file);
            }

            Console.ReadLine();
        }