コード例 #1
0
ファイル: GameEventRepo.cs プロジェクト: npaulsen/eumel
        public void StoreEvent(GameEvent gameEvent)
        {
            var persistableEvent = GameEventSerializer.Convert(gameEvent);

            using var ctx = _contextFactory.CreateDbContext();
            ctx.Events.Add(persistableEvent);
            ctx.SaveChanges();
        }
コード例 #2
0
        public void TrickWonIsMappedAndBack()
        {
            var ctx      = new GameEventContext("g", 12);
            var trickWon = new TrickWon(ctx, new PlayerIndex(1));

            var persistable = GameEventSerializer.Convert(trickWon);
            var recreated   = GameEventSerializer.Convert(persistable) as TrickWon;

            Assert.Equal(1, recreated.Player.Value);
        }
コード例 #3
0
        public void GuessGivenIsMappedAndBack()
        {
            var ctx        = new GameEventContext("g", 12);
            var guessGiven = new GuessGiven(ctx, new PlayerIndex(1), 23);

            var persistable = GameEventSerializer.Convert(guessGiven);
            var recreated   = GameEventSerializer.Convert(persistable) as GuessGiven;

            Assert.Equal(1, recreated.Player.Value);
            Assert.Equal(23, recreated.Count);
        }
コード例 #4
0
        public void HandReceivedIsMappedAndBack()
        {
            var ctx = new GameEventContext("g", 12);
            var handReceivedEvent = new HandReceived(ctx, new PlayerIndex(4), new KnownHand(new[] { new Card(Suit.Club, Rank.Four), new Card(Suit.Hearts, Rank.Ace) }));

            var persistable = GameEventSerializer.Convert(handReceivedEvent);
            var recreated   = GameEventSerializer.Convert(persistable) as HandReceived;

            Assert.Equal(4, recreated.Player.Value);
            Assert.Equal(handReceivedEvent.Hand, recreated.Hand);
        }
コード例 #5
0
        public void GameEventSerializerTest()
        {
            var gameEvent = SampleGenerator.GameEventTestLarge();
            var content   = GameEventSerializer.Serialize(gameEvent);

            Assert.IsTrue(content.Length > 0);
            var gameEvent2 = GameEventSerializer.Deserialize(content);

            Assert.AreEqual(gameEvent.Properties.Count, gameEvent2.Properties.Count);
            Assert.AreEqual(gameEvent.Properties["stat_22"], gameEvent2.Properties["stat_22"]);
        }
コード例 #6
0
        public void CardPlayedIsMappedAndBack()
        {
            var ctx        = new GameEventContext("g", 12);
            var aCard      = new Card(Suit.Diamonds, Rank.King);
            var cardPlayed = new CardPlayed(ctx, new PlayerIndex(2), aCard);

            var persistable = GameEventSerializer.Convert(cardPlayed);
            var recreated   = GameEventSerializer.Convert(persistable) as CardPlayed;

            Assert.Equal(2, recreated.Player.Value);
            Assert.Equal(aCard, recreated.Card);
        }