public void GameRepositoryConstructor()
        {
            IAzureBlobContainer <Game>             gameContainer            = new AzureBlobContainer <Game>(this.cloudStorageAccount);
            IAzureQueue <SkirmishGameQueueMessage> skirmishGameMessageQueue = new AzureQueue <SkirmishGameQueueMessage>(this.cloudStorageAccount, skirmishGameMessageQueueName);
            IAzureQueue <LeaveGameMessage>         leaveGameMessageQueue    = new AzureQueue <LeaveGameMessage>(this.cloudStorageAccount, leaveGameMessageQueueName);

            ExceptionAssert.ShouldThrow <ArgumentNullException>(() => new GameRepository(null, null, null, null, null, null));
            ExceptionAssert.ShouldThrow <ArgumentNullException>(() => new GameRepository(gameContainer, null, null, null, null, null));
            ExceptionAssert.ShouldThrow <ArgumentNullException>(() => new GameRepository(null, null, skirmishGameMessageQueue, null, null, null));
            ExceptionAssert.ShouldThrow <ArgumentNullException>(() => new GameRepository(null, null, null, leaveGameMessageQueue, null, null));
            ExceptionAssert.ShouldThrow <ArgumentNullException>(() => new GameRepository(null, null, skirmishGameMessageQueue, leaveGameMessageQueue, null, null));
            ExceptionAssert.ShouldThrow <ArgumentNullException>(() => new GameRepository(gameContainer, null, null, leaveGameMessageQueue, null, null));
            ExceptionAssert.ShouldThrow <ArgumentNullException>(() => new GameRepository(gameContainer, null, skirmishGameMessageQueue, null, null, null));
        }
        public void FailedAddOrUpdateUserSessionTest()
        {
            var users    = new AzureBlobContainer <UserProfile>(CloudStorageAccount.DevelopmentStorageAccount);
            var sessions = new AzureBlobContainer <UserSession>(CloudStorageAccount.DevelopmentStorageAccount);
            var friends  = new AzureBlobContainer <Friends>(CloudStorageAccount.DevelopmentStorageAccount);
            var target   = new UserRepository(users, sessions, friends);

            UserSession userSessionFirstVersion = new UserSession()
            {
                UserId = null, ActiveGameQueueId = Guid.NewGuid()
            };

            ExceptionAssert.ShouldThrow <ArgumentException>(() => target.AddOrUpdateUserSession(userSessionFirstVersion));

            UserSession userSessionSecondVersion = new UserSession()
            {
                UserId = string.Empty, ActiveGameQueueId = Guid.NewGuid()
            };

            ExceptionAssert.ShouldThrow <ArgumentException>(() => target.AddOrUpdateUserSession(userSessionSecondVersion));
        }