コード例 #1
0
        public void Given_Grade_When_DeleteGradeAsync_Then_ShouldBeTrue()
        {
            RunOnDatabase(context => {
                // ARRANGE


                context.Roles.Add(Role.Create("student"));
                context.SaveChanges();

                var userType = context.Roles.FirstOrDefault();
                if (userType != null)
                {
                    context.Users.Add(User.Create("User first name", "User last name", "User1", "*****@*****.**", "parola"));
                }
                context.SaveChanges();

                var user = context.Users.FirstOrDefault();
                if (user == null)
                {
                    return;
                }
                context.Groups.Add(Group.Create("Grup", "Grup mare", user.Id));
                context.SaveChanges();

                context.TestTypes.Add(TestType.Create("Grila"));
                context.SaveChanges();

                var testType = context.TestTypes.FirstOrDefault();
                if (testType != null)
                {
                    context.Tests.Add(Test.Create("Test", "Test surpriza", user.Id, testType.Id));
                }
                context.SaveChanges();

                var test  = context.Tests.FirstOrDefault();
                var group = context.Groups.FirstOrDefault();
                if (group != null && test != null)
                {
                    context.TestInstances.Add(TestInstance.Create(50, @group.Id, test.Id, DateTime.Now));
                }
                context.SaveChanges();

                var testInstance     = context.TestInstances.FirstOrDefault();
                var gradesRepository = new GradesRepository(context);
                if (testInstance != null)
                {
                    var grade = Grade.Create(7, user.Id, testInstance.Id);

                    context.Add(grade);
                    context.SaveChanges();


                    // ACT
                    var result = gradesRepository.DeleteGradeAsync(grade.UserId, grade.TestInstanceId);
                    // ASSERT
                    result.Result.Should().Be(true);
                }
            });
        }
        public void Create_IntrinsicStatesAutoBoxed_SameInstanceForEqualState()
        {
            var intrinsicState = RandomizationHelper.Instance.GetInt();

            TestInstanceMockProtected
            .Setup <ITerminalDescriptor>("Instantiate", intrinsicState)
            .Returns(() => new Mock <ITerminalDescriptor>().Object);

            Assert.AreSame(TestInstance.Create(intrinsicState), TestInstance.Create(intrinsicState));
        }
        public void Create_KnownIntrinsicState_ReturnsExistingInstance()
        {
            var intrinsicState = new object();

            TestInstanceMockProtected
            .Setup <ITerminalDescriptor>("Instantiate", intrinsicState)
            .Returns(() => new Mock <ITerminalDescriptor>().Object);

            Assert.AreSame(TestInstance.Create(intrinsicState), TestInstance.Create(intrinsicState));
        }
        public void Create_DifferentIntrinsicStates_DifferentInstancesForEachState()
        {
            var intrinsicStateOne = new object();
            var intrinsicStateTwo = new object();

            TestInstanceMockProtected
            .Setup <ITerminalDescriptor>("Instantiate", ItExpr.IsAny <object>())
            .Returns(() => new Mock <ITerminalDescriptor>().Object);

            Assert.AreSame(TestInstance.Create(intrinsicStateOne), TestInstance.Create(intrinsicStateOne));
            Assert.AreSame(TestInstance.Create(intrinsicStateTwo), TestInstance.Create(intrinsicStateTwo));
            Assert.IsFalse(ReferenceEquals(TestInstance.Create(intrinsicStateOne), TestInstance.Create(intrinsicStateTwo)));
        }
        public void Create_UnknownIntrinsicState_InstantiatedAndReturned()
        {
            var intrinsicState     = new object();
            var terminalDescriptor = new Mock <ITerminalDescriptor>().Object;

            TestInstanceMockProtected
            .Setup <ITerminalDescriptor>("Instantiate", intrinsicState)
            .Returns(terminalDescriptor);

            var result = TestInstance.Create(intrinsicState);

            Assert.AreSame(terminalDescriptor, result);
        }
コード例 #6
0
        public async Task <IActionResult> Create(CreateScheduledTestViewModel createScheduledTestViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(createScheduledTestViewModel));
            }
            var duration  = createScheduledTestViewModel.Duration;
            var groupId   = Guid.Parse(createScheduledTestViewModel.Group);
            var testId    = Guid.Parse(createScheduledTestViewModel.Test);
            var startDate = createScheduledTestViewModel.StartDateTime;
            await _testInstancesRepository.InsertAsync(TestInstance.Create(duration, groupId, testId, startDate));

            return(RedirectToAction(nameof(Index)));
        }
        public void Create_CollectionOfData_TerminalDescriptorsCreatedForEach()
        {
            var dataCollection      = new IData[5];
            var terminalDescriptors = new List <ITerminalDescriptor>();

            for (var i = 0; i < dataCollection.Length; ++i)
            {
                terminalDescriptors.Add(new Mock <ITerminalDescriptor>().Object);
                dataCollection[i] = new Mock <IData>().Object;

                TestInstanceMock
                .Setup(_ => _.Create(dataCollection[i]))
                .Returns(terminalDescriptors[i]);
            }

            var result = TestInstance.Create(dataCollection);

            Assert.IsTrue(terminalDescriptors.Equivalent(result));
        }
        public void Create_CollectionOfIntrinsicStates_TerminalDescriptorsCreatedForEach()
        {
            var intrinsicStates     = new object[5];
            var terminalDescriptors = new List <ITerminalDescriptor>();

            for (var i = 0; i < intrinsicStates.Length; ++i)
            {
                terminalDescriptors.Add(new Mock <ITerminalDescriptor>().Object);
                intrinsicStates[i] = new object();

                TestInstanceMock
                .Setup(_ => _.Create(intrinsicStates[i]))
                .Returns(terminalDescriptors[i]);
            }

            var result = TestInstance.Create(intrinsicStates);

            Assert.IsTrue(terminalDescriptors.Equivalent(result));
        }
コード例 #9
0
        public File CreateFile(DatabaseContext context, string path, string url)
        {
            context.Roles.Add(Role.Create("teacher"));
            context.SaveChanges();
            var userType = context.Roles.FirstOrDefault();

            if (userType != null)
            {
                context.Users.Add(User.Create("Johnny", "Bravo", "johnnybravo", "*****@*****.**", "2G3GSDGDFG"));
            }
            context.SaveChanges();
            var user = context.Users.FirstOrDefault();

            if (user != null)
            {
                context.Groups.Add(Group.Create("some group", "description", user.Id));
                context.SaveChanges();
                var group = context.Groups.FirstOrDefault();

                context.TestTypes.Add(TestType.Create("grila"));
                context.SaveChanges();
                var testType = context.TestTypes.FirstOrDefault();

                if (testType != null)
                {
                    context.Tests.Add(Test.Create("Partial Exam Python", "No description needed", user.Id,
                                                  testType.Id));
                }
                context.SaveChanges();
                var test = context.Tests.FirstOrDefault();

                if (group != null && test != null)
                {
                    context.TestInstances.Add(TestInstance.Create(300, @group.Id, test.Id, DateTime.Now));
                }
            }
            context.SaveChanges();
            var testInstance = context.TestInstances.FirstOrDefault();

            return(testInstance != null?File.Create(path, url, testInstance.Id) : null);
        }
        public void Create_Data_CreatedUsingDataIdentifier()
        {
            var descriptor     = new Mock <ITerminalDescriptor>().Object;
            var dataIdentifier = new object();

            DataMock
            .Setup(_ => _.DataIdentifier)
            .Returns(dataIdentifier)
            .Verifiable();

            TestInstanceMock
            .Setup(_ => _.Create(dataIdentifier))
            .Returns(descriptor)
            .Verifiable();

            var result = TestInstance.Create(Data);

            DataMock.Verify();
            TestInstanceMock.Verify();

            Assert.AreSame(descriptor, result);
        }
コード例 #11
0
        public void Given_TestInstance_When_NewTestInstanceIsAdded_Then_ShouldHaveOneTestInstanceInDatabase()
        {
            RunOnDatabase(context => {
                // ARRANGE


                context.Roles.Add(Role.Create("student"));
                context.SaveChanges();

                var userType = context.Roles.FirstOrDefault();
                if (userType != null)
                {
                    var user = User.Create(
                        "User first name",
                        "User last name",
                        "User",
                        "*****@*****.**",
                        "parola"

                        );
                    context.Users.Add(user);
                }
                context.SaveChanges();

                var userId = context.Users.FirstOrDefault();

                if (userId != null)
                {
                    var group = Group.Create(

                        "A2",
                        "grupa din anul III",
                        userId.Id

                        );
                    context.Groups.Add(group);
                }
                context.SaveChanges();

                var groupId = context.Groups.FirstOrDefault();

                context.TestTypes.Add(TestType.Create("Test_1"));
                context.SaveChanges();
                var testType = context.TestTypes.FirstOrDefault();

                if (userId != null && testType != null)
                {
                    context.Tests.Add(Test.Create("Testul nr 1", "Matematica", userId.Id, testType.Id));
                }

                context.SaveChanges();
                var testId = context.Tests.FirstOrDefault();

                var testInstancesRepository = new TestInstancesRepository(context);
                if (groupId != null && testId != null)
                {
                    var testInstance = TestInstance.Create(
                        100,
                        groupId.Id,
                        testId.Id,
                        DateTime.Now
                        );

                    var testInstanceInserted = testInstancesRepository.InsertAsync(testInstance).Result;
                    // ACT
                    var result = testInstancesRepository.GetByIdAsync(testInstanceInserted.Id);
                    // ASSERT
                    result.Should().NotBe(null);
                }
            });
        }
コード例 #12
0
        public void Given_TestInstance_When_UpdateTestInstanceAsync_Then_ShouldBeTrue()
        {
            RunOnDatabase(context => {
                // ARRANGE


                context.Roles.Add(Role.Create("student"));
                context.SaveChanges();

                var userType = context.Roles.FirstOrDefault();
                if (userType != null)
                {
                    var user = User.Create(
                        "User first name",
                        "User last name",
                        "User",
                        "*****@*****.**",
                        "parola"

                        );
                    context.Users.Add(user);
                }
                context.SaveChanges();

                var userId = context.Users.FirstOrDefault();

                if (userId != null)
                {
                    var group = Group.Create(

                        "A2",
                        "grupa din anul III",
                        userId.Id

                        );
                    context.Groups.Add(group);
                }
                context.SaveChanges();

                var groupId = context.Groups.FirstOrDefault();

                context.TestTypes.Add(TestType.Create("Test_1"));
                context.SaveChanges();
                var testType = context.TestTypes.FirstOrDefault();

                if (userId != null && testType != null)
                {
                    context.Tests.Add(Test.Create("Testul nr 1", "Matematica", userId.Id, testType.Id));
                }
                context.SaveChanges();
                var testId = context.Tests.FirstOrDefault();

                var testInstancesRepository = new TestInstancesRepository(context);
                if (groupId == null)
                {
                    return;
                }
                if (testId == null)
                {
                    return;
                }
                var testInstance = TestInstance.Create(
                    100,
                    groupId.Id,
                    testId.Id,
                    DateTime.Now
                    );

                context.Add(testInstance);
                context.SaveChanges();

                testInstance.Update(200, groupId.Id, testId.Id, DateTime.Now, false);


                // ACT
                var result = testInstancesRepository.UpdateAsync(testInstance);
                // ASSERT
                result.Result.Should().Be(true);
            });
        }