示例#1
0
        public async Task Run_For_5_Generations()
        {
            StartTrainingSessionRequest startTrainingSessionRequest = new StartTrainingSessionRequest
            {
                Id             = Guid.NewGuid(),
                DateTime       = DateTime.Now,
                TrainingRoomId = TrainingRoomId,
                UserId         = UserId
            };
            StartTrainingSessionResponse startTrainingSessionResponse = await TrainingSessionService.StartTrainingSessionAsync(startTrainingSessionRequest);

            Guid trainingSessionId = startTrainingSessionResponse.TrainingSession.Id;

            int generations = 5;
            PostOrganismsScoreResponse postOrganismsScoreResponse = default;

            for (int i = 1; i < generations; i++)
            {
                GetOrganismsRequest  getOrganismsRequest  = GetOrganismsRequest(trainingSessionId);
                GetOrganismsResponse getOrganismsResponse = await TrainingSessionService.GetOrganismsAsync(getOrganismsRequest);

                PostOrganismsScoreRequest postOrganismsScoreRequest = PostOrganismsScoreRequest(trainingSessionId, getOrganismsResponse);
                postOrganismsScoreResponse = await TrainingSessionService.PostOrganismsScoreAsync(postOrganismsScoreRequest);
            }

            Assert.IsTrue(postOrganismsScoreResponse.Success);
            Assert.AreEqual("Successfully updated the organisms and advanced a generation!", postOrganismsScoreResponse.Message);
        }
示例#2
0
        public async Task StartTrainingSessionAsync_Should_Create_A_New_Session()
        {
            StartTrainingSessionRequest  startTrainingSessionRequest  = StartTrainingSessionRequest(TrainingRoomId, UserId);
            StartTrainingSessionResponse startTrainingSessionResponse = await TrainingSessionService.StartTrainingSessionAsync(startTrainingSessionRequest);

            Assert.IsTrue(startTrainingSessionResponse.Success);
        }
示例#3
0
        public async Task StartTrainingSessionAsync_Should_Fail_Due_To_Unknown_TrainingRoom_Id()
        {
            StartTrainingSessionRequest  startTrainingSessionRequest  = StartTrainingSessionRequest(Guid.NewGuid(), UserId);
            StartTrainingSessionResponse startTrainingSessionResponse = await TrainingSessionService.StartTrainingSessionAsync(startTrainingSessionRequest);

            Assert.IsFalse(startTrainingSessionResponse.Success);
            Assert.AreEqual("Training room does not exist.", startTrainingSessionResponse.Message);
        }
示例#4
0
        public async Task EndTrainingSessionAsync_Should_Successfully_End_The_TrainingSession()
        {
            StartTrainingSessionRequest  startTrainingSessionRequest  = StartTrainingSessionRequest(TrainingRoomId, UserId);
            StartTrainingSessionResponse startTrainingSessionResponse = await TrainingSessionService.StartTrainingSessionAsync(startTrainingSessionRequest);

            Guid trainingSessionId = startTrainingSessionResponse.TrainingSession.Id;
            EndTrainingSessionRequest  endTrainingSessionRequest  = EndTrainingSessionRequest(trainingSessionId);
            EndTrainingSessionResponse endTrainingSessionResponse = await TrainingSessionService.EndTrainingSessionAsync(endTrainingSessionRequest);

            Assert.IsTrue(endTrainingSessionResponse.Success);
        }
示例#5
0
        public async Task GetOrganismsAsync_Should_Successfully_Return_15_Organisms()
        {
            StartTrainingSessionRequest startTrainingSessionRequest = new StartTrainingSessionRequest
            {
                Id             = Guid.NewGuid(),
                DateTime       = DateTime.Now,
                TrainingRoomId = TrainingRoomId,
                UserId         = UserId
            };
            StartTrainingSessionResponse startTrainingSessionResponse = await TrainingSessionService.StartTrainingSessionAsync(startTrainingSessionRequest);

            Guid trainingSessionId = startTrainingSessionResponse.TrainingSession.Id;

            GetOrganismsRequest  getOrganismsRequest  = GetOrganismsRequest(trainingSessionId);
            GetOrganismsResponse getOrganismsResponse = await TrainingSessionService.GetOrganismsAsync(getOrganismsRequest);

            Assert.IsTrue(getOrganismsResponse.Success);
            Assert.AreEqual(OrganismCount, getOrganismsResponse.Organisms.Count);
        }
示例#6
0
        public async Task PostOrganismsAsync_Should_Successfully_Start_A_New_Generation()
        {
            StartTrainingSessionRequest startTrainingSessionRequest = new StartTrainingSessionRequest
            {
                Id             = Guid.NewGuid(),
                DateTime       = DateTime.Now,
                TrainingRoomId = TrainingRoomId,
                UserId         = UserId
            };
            StartTrainingSessionResponse startTrainingSessionResponse = await TrainingSessionService.StartTrainingSessionAsync(startTrainingSessionRequest);

            Guid trainingSessionId = startTrainingSessionResponse.TrainingSession.Id;

            GetOrganismsRequest  getOrganismsRequest  = GetOrganismsRequest(trainingSessionId);
            GetOrganismsResponse getOrganismsResponse = await TrainingSessionService.GetOrganismsAsync(getOrganismsRequest);

            PostOrganismsScoreRequest  postOrganismsScoreRequest  = PostOrganismsScoreRequest(trainingSessionId, getOrganismsResponse);
            PostOrganismsScoreResponse postOrganismsScoreResponse = await TrainingSessionService.PostOrganismsScoreAsync(postOrganismsScoreRequest);

            Assert.IsTrue(postOrganismsScoreResponse.Success);
            Assert.AreEqual("Successfully updated the organisms and advanced a generation!", postOrganismsScoreResponse.Message);
        }