Exemple #1
0
        public void Test2()
        {
            int                                id, epId;
            DateTime                           now, startTime, endTime;
            ExaminationTask                    et;
            ExaminationPaper                   ep;
            ExaminationPaperTemplate           ept;
            UExaminationTask_Accessor          uet;
            UExaminationPaperTemplate_Accessor uept;
            GeneratePaperTemplate_Accessor     gpt = new GeneratePaperTemplate_Accessor();
            ResponseJson                       resJson;
            Object                             expected, actual;

            #region 部署测试数据

            now = DateTime.Now;
            uet = new UExaminationTask_Accessor();

            startTime = now.AddSeconds(5);
            endTime   = startTime.AddSeconds(5);
            endTime   = new DateTime(1970, 1, 1, endTime.Hour, endTime.Minute, endTime.Second);
            id        = new Utility().GetETId();
            et        = new ExaminationTask
            {
                ET_Id      = id,
                ET_Name    = "单元测试预定任务" + id,
                ET_Enabled = (Byte)ExaminationTaskStatus.Disabled,
                ET_Type    = (Byte)ExaminationTaskType.Examination,
                ET_ParticipatingDepartment = "[6,9]",
                ET_Attendee              = "[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,39,40,41,42,43,44,45]",
                ET_StatisticType         = (Byte)StatisticType.Score,
                ET_TotalScore            = 100,
                ET_TotalNumber           = 10,
                ET_Mode                  = (Byte)ExaminationTaskMode.Custom,
                ET_AutoType              = (Byte)AutoType.Custom,
                ET_AutoOffsetDay         = 0,
                ET_DifficultyCoefficient = 0,
                ET_AutoClassifies        = "[]",
                ET_AutoRatio             = "[{\"type\":\"单选题\",\"percent\":0.2},{\"type\":\"多选题\",\"percent\":0.2},{\"type\":\"判断题\",\"percent\":0.2},{\"type\":\"公文改错题\",\"percent\":0.1},{\"type\":\"计算题\",\"percent\":0.1},{\"type\":\"案例分析题\",\"percent\":0.1},{\"type\":\"问答题\",\"percent\":0.1}]",
                ET_StartTime             = startTime,
                ET_EndTime               = endTime,
                ET_ContinuedDays         = 1,
                ET_TimeSpan              = 1,
                ET_PaperTemplates        = "[]",
                ET_Questions             = "[3,4,5,6,7,8,9,10,11,12]",
                ET_Remark                = "",
                ET_AddTime               = now,
                ET_Status                = (Byte)Status.Available
            };
            olsEni.Entry(et).State = EntityState.Added;

            if (0 == olsEni.SaveChanges())
            {
                Assert.Fail("部署测试数据失败1。");
            }

            uet.AddPaperTemplateAndQuestionTemplate(et);
            #endregion

            // 测试开始任务操作是否正常
            expected = ResponseStatus.Success;
            resJson  = uet.SetExaminationTaskStatus(et.ET_Id, ExaminationTaskStatus.Enabled);
            actual   = resJson.status;
            Assert.AreEqual(expected, actual);

            // 任务是否开启
            Thread.Sleep(6 * 1000);
            new ChangePaperTemplateStatus_Accessor().Change();
            ept      = olsEni.ExaminationPaperTemplates.Where(m => m.ET_Id == et.ET_Id).Take(1).ToList()[0];
            expected = (Byte)PaperTemplateStatus.Doing;
            actual   = ept.EPT_PaperTemplateStatus;
            Assert.AreEqual(expected, actual);

            // 结束时间设置是否正常
            startTime = startTime.AddDays(et.ET_ContinuedDays - 1);
            expected  = new DateTime(startTime.Year, startTime.Month, startTime.Day, endTime.Hour, endTime.Minute, endTime.Second);
            actual    = ept.EPT_EndTime;
            Assert.AreEqual(expected, actual);

            // 添加试卷
            uept    = new UExaminationPaperTemplate_Accessor();
            resJson = uept.EnterExamination(ept.EPT_Id, 1);

            // 任务是否正常自动结束
            Thread.Sleep(5 * 1000);
            et       = olsEni.ExaminationTasks.Single(m => m.ET_Id == et.ET_Id);
            expected = (Byte)ExaminationTaskStatus.Disabled;
            actual   = et.ET_Enabled;
            Assert.AreEqual(expected, actual);

            // 试卷是否自动关闭
            Thread.Sleep(56 * 1000);
            new ChangePaperTemplateStatus_Accessor().Change();
            new ChangePaperStatus_Accessor().Change();
            epId     = (Int32)resJson.addition;
            ep       = olsEni.ExaminationPapers.Single(m => m.EP_Id == epId);
            expected = (Byte)PaperStatus.Done;
            actual   = ep.EP_PaperStatus;
            Assert.AreEqual(expected, actual);
        }
        public void Test2()
        {
            int id, epId;
            DateTime now, startTime, endTime;
            ExaminationTask et;
            ExaminationPaper ep;
            ExaminationPaperTemplate ept;
            UExaminationTask_Accessor uet;
            UExaminationPaperTemplate_Accessor uept;
            GeneratePaperTemplate_Accessor gpt = new GeneratePaperTemplate_Accessor();
            ResponseJson resJson;
            Object expected, actual;

            #region 部署测试数据

            now = DateTime.Now;
            uet = new UExaminationTask_Accessor();

            startTime = now.AddSeconds(5);
            endTime = startTime.AddSeconds(5);
            endTime = new DateTime(1970, 1, 1, endTime.Hour, endTime.Minute, endTime.Second);
            id = new Utility().GetETId();
            et = new ExaminationTask
            {
                ET_Id = id,
                ET_Name = "单元测试预定任务" + id,
                ET_Enabled = (Byte)ExaminationTaskStatus.Disabled,
                ET_Type = (Byte)ExaminationTaskType.Examination,
                ET_ParticipatingDepartment = "[6,9]",
                ET_Attendee = "[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,39,40,41,42,43,44,45]",
                ET_StatisticType = (Byte)StatisticType.Score,
                ET_TotalScore = 100,
                ET_TotalNumber = 10,
                ET_Mode = (Byte)ExaminationTaskMode.Custom,
                ET_AutoType = (Byte)AutoType.Custom,
                ET_AutoOffsetDay = 0,
                ET_DifficultyCoefficient = 0,
                ET_AutoClassifies = "[]",
                ET_AutoRatio = "[{\"type\":\"单选题\",\"percent\":0.2},{\"type\":\"多选题\",\"percent\":0.2},{\"type\":\"判断题\",\"percent\":0.2},{\"type\":\"公文改错题\",\"percent\":0.1},{\"type\":\"计算题\",\"percent\":0.1},{\"type\":\"案例分析题\",\"percent\":0.1},{\"type\":\"问答题\",\"percent\":0.1}]",
                ET_StartTime = startTime,
                ET_EndTime = endTime,
                ET_ContinuedDays = 1,
                ET_TimeSpan = 1,
                ET_PaperTemplates = "[]",
                ET_Questions = "[3,4,5,6,7,8,9,10,11,12]",
                ET_Remark = "",
                ET_AddTime = now,
                ET_Status = (Byte)Status.Available
            };
            olsEni.Entry(et).State = EntityState.Added;

            if (0 == olsEni.SaveChanges())
            {
                Assert.Fail("部署测试数据失败1。");
            }

            uet.AddPaperTemplateAndQuestionTemplate(et);
            #endregion

            // 测试开始任务操作是否正常
            expected = ResponseStatus.Success;
            resJson = uet.SetExaminationTaskStatus(et.ET_Id, ExaminationTaskStatus.Enabled);
            actual = resJson.status;
            Assert.AreEqual(expected, actual);

            // 任务是否开启
            Thread.Sleep(6 * 1000);
            new ChangePaperTemplateStatus_Accessor().Change();
            ept = olsEni.ExaminationPaperTemplates.Where(m => m.ET_Id == et.ET_Id).Take(1).ToList()[0];
            expected = (Byte)PaperTemplateStatus.Doing;
            actual = ept.EPT_PaperTemplateStatus;
            Assert.AreEqual(expected, actual);

            // 结束时间设置是否正常
            startTime = startTime.AddDays(et.ET_ContinuedDays - 1);
            expected = new DateTime(startTime.Year, startTime.Month, startTime.Day, endTime.Hour, endTime.Minute, endTime.Second);
            actual = ept.EPT_EndTime;
            Assert.AreEqual(expected, actual);

            // 添加试卷
            uept = new UExaminationPaperTemplate_Accessor();
            resJson = uept.EnterExamination(ept.EPT_Id, 1);

            // 任务是否正常自动结束
            Thread.Sleep(5 * 1000);
            et = olsEni.ExaminationTasks.Single(m => m.ET_Id == et.ET_Id);
            expected = (Byte)ExaminationTaskStatus.Disabled;
            actual = et.ET_Enabled;
            Assert.AreEqual(expected, actual);

            // 试卷是否自动关闭
            Thread.Sleep(56 * 1000);
            new ChangePaperTemplateStatus_Accessor().Change();
            new ChangePaperStatus_Accessor().Change();
            epId = (Int32)resJson.addition;
            ep = olsEni.ExaminationPapers.Single(m => m.EP_Id == epId);
            expected = (Byte)PaperStatus.Done;
            actual = ep.EP_PaperStatus;
            Assert.AreEqual(expected, actual);
        }