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)); }
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)); }
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)); }
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); }); }
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); } }
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]); }