Esempio n. 1
0
        public void GetByID_OneItem_ReturnsGameTopic()
        {
            // Arrange
            GameTopic entity = new GameTopic {
                ID = 1
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <GameTopic>(entity));

            // Assert
            Assert.AreNotSame(entity, _cache.GetByID(1));
        }
Esempio n. 2
0
        public void GetByID_TwoItems_ReturnsCorrectObject()
        {
            // Arrange
            GameTopic entity1 = new GameTopic {
                ID = 1
            };
            GameTopic entity2 = new GameTopic {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <GameTopic>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <GameTopic>(entity2));

            // Assert
            Assert.AreNotSame(entity1, _cache.GetByID(1));
            Assert.AreNotSame(entity2, _cache.GetByID(2));
        }
Esempio n. 3
0
        public void GetByID_RemovedItem_ReturnsCorrectObject()
        {
            // Arrange
            GameTopic entity1 = new GameTopic {
                ID = 1
            };
            GameTopic entity2 = new GameTopic {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <GameTopic>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <GameTopic>(entity2));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <GameTopic>(entity1));

            // Assert
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(1); });
            Assert.AreNotSame(entity2, _cache.GetByID(2));
        }
Esempio n. 4
0
        public void GetByID_NoItems_ThrowsKeyNotFoundException()
        {
            // Arrange
            GameTopic entity1 = new GameTopic {
                ID = 1
            };
            GameTopic entity2 = new GameTopic {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <GameTopic>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <GameTopic>(entity2));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <GameTopic>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <GameTopic>(entity2));

            // Assert
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(1); });
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(2); });
        }
Esempio n. 5
0
        public static void GetQuestionsFromFile(string fileName, GameTopic gameTopic)
        {
            using (StreamReader streamReader = new StreamReader(fileName, Encoding.Default))
            {
                var questionsForTopic = new QuestionsForTopic();
                questionsForTopic.questions = new string[AllQuestionsInTopic];
                questionsForTopic.answers   = new Answer[AllQuestionsInTopic, NumberOfAnswers];

                for (int i = 0; i < AllQuestionsInTopic; i++)
                {
                    questionsForTopic.questions[i] = streamReader.ReadLine();
                    questionsForTopic.answers[i, i % NumberOfAnswers].IsRight = true;

                    for (int j = 0; j < NumberOfAnswers; j++)
                    {
                        questionsForTopic.answers[i, j].Title = streamReader.ReadLine();
                    }
                }
                questionsDictionary.Add(gameTopic, questionsForTopic);
            }
        }
Esempio n. 6
0
        private void OrganizeGame(Message message)
        {
            GameTopic gameTopic = DefineGameTopic(message.gameTopic);

            GenerateRandomQuestions();

            var game = new Game(message.messageSenderID, message.messageReceiverID, message.messageName,
                                Server.clientNames[listeningClientMessagesSocket.RemoteEndPoint.GetHashCode()]);

            for (int i = 0; i < Server.NumberOfQuestionsInOneGame; i++)
            {
                game.rigthAnswersOnQuestions[i] = randomNumbersOfQuestions[i] % Server.NumberOfAnswers;
            }

            Server.gamesList.Add(game);
            Console.WriteLine("Game is set");

            message.questionsToSend = new string[Server.NumberOfQuestionsInOneGame];
            message.answersToSend   = new string[Server.NumberOfAnswers * Server.NumberOfQuestionsInOneGame];
            for (int i = 0; i < Server.NumberOfQuestionsInOneGame; i++)
            {
                message.questionsToSend[i] = Server.questionsDictionary[gameTopic].questions[randomNumbersOfQuestions[i]];
            }
            int k = StartNumber;

            for (int i = 0; i < Server.NumberOfQuestionsInOneGame; i++)
            {
                for (int j = 0; j < Server.NumberOfAnswers; j++)
                {
                    message.answersToSend[k] = Server.questionsDictionary[gameTopic].answers[randomNumbersOfQuestions[i], j].Title;
                    k++;
                }
            }

            message.opponentForGameName = Server.clientNames[listeningClientMessagesSocket.RemoteEndPoint.GetHashCode()];
            Server.SendMessage(message, Server.clientSockets[message.messageSenderID]);

            message.opponentForGameName = message.messageName;
            Server.SendMessage(message, Server.clientSockets[message.messageReceiverID]);
        }