示例#1
0
        public void TestResultPropertyCanBeSetAndDoesNotInvokePropertyChangedEventIfSetValueIsSameAsCurrentValue(
            [Values] bool withResult, [Values] bool withTest)
        {
            int invocationCount = 0;

            NUnitRunner      runner = new NUnitRunner("runner-name");
            TestSuite        suite  = new TestSuite("suite-name");
            INUnitTestResult result = withResult ? new NUnitTestResult(new TestSuiteResult(suite)) : null;
            ITest            test   = withTest ? suite : null;

            TestsViewModel model = new TestsViewModel(runner, test);

            model.Result = result;

            model.PropertyChanged += (s, a) => { invocationCount++; };

            Assert.AreEqual(result, model.Result);
            Assert.AreEqual(0, invocationCount);

            model.Result = result;

            Assert.AreEqual(result, model.Result);
            Assert.AreEqual(test, model.Test);
            Assert.AreEqual(0, invocationCount);
        }
示例#2
0
        public void TestReloadResultsCommandReturnsImmediatelyWhenTestRunnerIsRunningTests()
        {
            int invocationCount                      = 0;
            NUnitSuiteForTest         suite          = new NUnitSuiteForTest("suite-name");
            TestAssemblyRunnerForTest assemblyRunner = new TestAssemblyRunnerForTest();

            assemblyRunner.IsTestRunning = true;

            suite.RunnerToLoad = assemblyRunner;
            NUnitRunnerForTest runner = new NUnitRunnerForTest(suite);

            runner.AddTestAssembly(GetType().Assembly);
            runner.AddTestAssembly(typeof(TestFixtureStubOne).Assembly);

            Assert.AreEqual(2, runner.TestSuite.TestAssemblyRunners.Count);

            TestsViewModel model = new TestsViewModel(runner, runner.TestSuite);

            model.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName.Equals("IsBusy"))
                {
                    invocationCount++;
                }
            };

            model.ReloadResultsCommand.Execute(null);

            WaitForCommand(model);

            Assert.IsFalse(model.IsBusy);
            Assert.AreEqual(2, invocationCount);
            CollectionAssert.IsEmpty(model.Tests);
        }
示例#3
0
        public void TestTestPropertyCanBeSetAndDoesNotInvokePropertyChangedEventIfSetValueIsSameAsCurrentValue(
            [Values] bool withTest)
        {
            int invocationCount = 0;

            NUnitRunner runner        = new NUnitRunner("runner-name");
            TestSuite   suite         = new TestSuite("suite-name");
            ITest       testInstance  = suite;
            ITest       test          = withTest ? testInstance : null;
            string      expectedTitle = withTest ? testInstance.FullName : runner.TestSuite.FullName;

            TestsViewModel model = new TestsViewModel(runner, test);

            model.PropertyChanged += (s, a) => { invocationCount++; };

            Assert.AreEqual(test, model.Test);
            Assert.AreEqual(expectedTitle, model.Title);
            Assert.AreEqual(0, invocationCount);

            model.Test = test;

            Assert.AreEqual(test, model.Test);
            Assert.AreEqual(expectedTitle, model.Title);
            Assert.AreEqual(0, invocationCount);
        }
示例#4
0
        public void TestReloadResultsCommandReturnsImmediatelyWhenTestRunnerIsNull()
        {
            int         invocationCount = 0;
            NUnitRunner runner          = new NUnitRunner("runner-name");

            runner.AddTestAssembly(typeof(TestFixtureStubOne).Assembly);

            TestsViewModel model = new TestsViewModel(null, runner.TestSuite);

            model.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName.Equals("IsBusy"))
                {
                    invocationCount++;
                }
            };

            model.ReloadResultsCommand.Execute(null);

            WaitForCommand(model);

            Assert.IsFalse(model.IsBusy);
            Assert.AreEqual(0, invocationCount);
            CollectionAssert.IsEmpty(model.Tests);
        }
示例#5
0
        public void TestConditionalDisplayNamePropertyWithTestNullReturnsEmptyString()
        {
            TestsViewModel test = new TestsViewModel(v_Runner, null);

            Assert.IsNull(test.Test);
            Assert.AreEqual(string.Empty, test.ConditionalDisplayName);
        }
示例#6
0
        public void TestLoadTestsCommandClearsAndReturnsWhenTestHasNoChildren()
        {
            int         invocationCount = 0;
            NUnitRunner runner          = new NUnitRunner("runner-name");
            ITest       test            = runner.TestSuite;

            TestsViewModel model = new TestsViewModel(runner, test);

            model.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName.Equals("IsBusy"))
                {
                    invocationCount++;
                }
            };

            model.LoadTestsCommand.Execute(null);

            WaitForCommand(model);

            Assert.IsFalse(model.IsBusy);
            Assert.IsNotNull(model.Test);

            Assert.IsNotNull(model.Test);
            Assert.IsFalse(model.Test.HasChildren);

            Assert.AreEqual(2, invocationCount);
            CollectionAssert.IsEmpty(model.Tests);
        }
示例#7
0
        public async Task <IActionResult> Index(string searchString = "", string searchStringCategory = "")
        {
            List <Test> tests;

            tests = await UserContext.Tests.ToListAsync();

            var cats = await UserContext.Сategories.ToListAsync();

            if (!string.IsNullOrEmpty(searchString))
            {
                tests = await UserContext.Tests.Where(s => s.Name.Contains(searchString)).ToListAsync();
            }

            if (!string.IsNullOrEmpty(searchStringCategory))
            {
                var cat = await UserContext.Сategories.FirstOrDefaultAsync(s => s.Name.Contains(searchStringCategory));

                tests = await UserContext.Tests.Where(s => s.CategoryId == cat.Id).ToListAsync();
            }

            TestsViewModel model = new TestsViewModel
            {
                Tests      = tests,
                Categories = cats,
            };

            return(View(model));
        }
示例#8
0
        public bool RemoveFromTestMaster(TestsViewModel testsViewModel)
        {
            RestRequest request = new RestRequest("/RemoveFromTestMaster", Method.POST);

            request.AddJsonBody(testsViewModel);
            this.iRestClientBase.Execute(request);
            return(true);
        }
示例#9
0
        public bool UpdateTest(TestsViewModel testsViewModel)
        {
            RestRequest request = new RestRequest("/UpdateTest", Method.POST);

            request.AddJsonBody(testsViewModel);
            this.iRestClientBase.Execute(request);
            return(true);
        }
示例#10
0
        public void TestTestFilterPropertyWithTestNullReturnsEmptyFilter()
        {
            TestsViewModel test = new TestsViewModel(v_Runner, null);

            Assert.IsNull(test.Test);
            Assert.IsNotNull(test.TestFilter);
            Assert.AreSame(NUnitFilter.Empty, test.TestFilter);
        }
示例#11
0
        public TestSuggestedActionsSource(ITextView textView, ITextBuffer textBuffer, IClassifier classifier)
        {
            _classifier = classifier;
            _tests      = PowershellService.Current.Tests;

            _textBuffer = textBuffer;
            _view       = textView;
        }
示例#12
0
        public bool MoveTest(TestsViewModel testsViewModel, int TestMasterIdFrom)
        {
            RestRequest request = new RestRequest("/MoveTest", Method.POST);

            request.AddJsonBody(testsViewModel);
            request.AddQueryParameter("TestMasterIdFrom", TestMasterIdFrom.ToString());
            this.iRestClientBase.Execute(request);
            return(true);
        }
示例#13
0
        public bool UpdateTest(TestsViewModel testsViewModel)
        {
            Test test;

            test = _iMapper.Map <TestsViewModel, Test>(testsViewModel);
            testRepository.Update(test, o => o.TestName, o => o.IsActive, o => o.ModifiedBy, o => o.ModifiedOn);
            SaveTest();
            return(true);
        }
示例#14
0
        public void TestFullDisplayNamePropertyWithTestFullNameNotADllFilePathReturnsFullName()
        {
            const string name        = "suite-name";
            ITest        testFixture = new TestSuite(name);

            TestsViewModel test = new TestsViewModel(v_Runner, testFixture);

            Assert.IsNotNull(test.Test);
            Assert.AreEqual(name, test.FullDisplayName);
        }
示例#15
0
        public IActionResult Create()
        {
            var model = new TestsViewModel();
            var list  = _tests.AllTypes().ToList();

            list.Insert(0, new TestTypeCategory(0, "Wybierz", 0));
            ViewBag.ListofCategory = list;

            return(View(model));
        }
示例#16
0
        public void TestOnItemSelectedWithSelectedItemTestWithoutChildTestsPushesTestDetailPageToStackAndCaches()
        {
            NUnitRunner runner = new NUnitRunner("runner-name");

            runner.AddTestAssembly(typeof(TestFixtureStubOne).Assembly);
            IMethodInfo    methodOne          = new MethodWrapper(typeof(TestsPageTest), GetType().GetMethods().First());
            IMethodInfo    methodTwo          = new MethodWrapper(typeof(TestsPageTest), GetType().GetMethods().Last());
            ITest          firstTestInstance  = new TestMethod(methodOne);
            ITest          secondTestInstance = new TestMethod(methodTwo);
            TestsViewModel firstTest          = new TestsViewModel(runner, firstTestInstance);
            TestsViewModel secondTest         = new TestsViewModel(runner, secondTestInstance);

            Assert.IsFalse(firstTest.Test.IsSuite);
            Assert.IsFalse(firstTest.Test.HasChildren);
            Assert.IsFalse(secondTest.Test.IsSuite);
            Assert.IsFalse(secondTest.Test.HasChildren);

            SelectedItemChangedEventArgs firstArgs  = new SelectedItemChangedEventArgs(firstTest, 0);
            SelectedItemChangedEventArgs secondArgs = new SelectedItemChangedEventArgs(secondTest, 0);

            TestsPageForTest page = new TestsPageForTest(runner);

            // Load first page
            page.InvokeOnItemSelected(null, firstArgs);

            Assert.AreEqual(1, page.NavigationStack.Count);
            TestDetailPage firstTestsPage = page.NavigationStack.First() as TestDetailPage;

            Assert.IsNotNull(firstTestsPage);
            Assert.AreEqual(firstTest, firstTestsPage.ViewModel);
            Assert.AreEqual(runner, firstTestsPage.ViewModel.TestRunner);
            Assert.AreEqual(firstTestInstance, firstTestsPage.ViewModel.Test);

            // Load second page
            page.InvokeOnItemSelected(null, secondArgs);

            Assert.AreEqual(2, page.NavigationStack.Count);
            TestDetailPage secondTestsPage = page.NavigationStack[1] as TestDetailPage;

            Assert.IsNotNull(secondTestsPage);
            Assert.AreEqual(secondTest, secondTestsPage.ViewModel);
            Assert.AreEqual(runner, secondTestsPage.ViewModel.TestRunner);
            Assert.AreEqual(secondTestInstance, secondTestsPage.ViewModel.Test);

            // Load first page again
            IList <Page> expectedStack = new List <Page>(page.NavigationStack);

            expectedStack.Add(firstTestsPage);

            page.InvokeOnItemSelected(null, firstArgs);

            Assert.AreEqual(3, page.NavigationStack.Count);
            Assert.AreSame(firstTestsPage, page.NavigationStack[2]);
            CollectionAssert.AreEqual(expectedStack, page.NavigationStack);
        }
示例#17
0
        public async Task <IActionResult> Index(int?testsType, int?algorithmId, int?orderBy)
        {
            var testTypes = new List <string> {
                "Все", "Только выполненные", "Только невыполненные"
            };
            var algorithms = await _db.Algorithms
                             .Include(al => al.Tests)
                             .Where(al => al.Tests.Any())
                             .ToListAsync();

            algorithms.Insert(0, new Algorithm {
                Id = 0, Name = "Все"
            });

            var tests = await _db.Tests
                        .Include(t => t.TestQuestions)
                        .Include(t => t.Algorithm)
                        .OrderBy(t => t.Name)
                        .ThenBy(t => t.AlgorithmId)
                        .ToListAsync();

            var userTests = await _db.UserTests
                            .Where(ut => ut.UserId == GetUserId())
                            .ToListAsync();

            if (testsType != null && testsType != 0)
            {
                tests = testsType == 1
                    ? tests.Where(t => userTests.Any(ut => ut.TestId == t.Id)).ToList()
                    : tests.Where(t => userTests.All(ut => ut.TestId != t.Id)).ToList();
            }

            if (algorithmId != null && algorithmId != 0)
            {
                tests = tests.Where(t => t.AlgorithmId == algorithmId).ToList();
            }

            if (orderBy != null && orderBy != 0)
            {
                tests = tests.OrderBy(t => t.Algorithm.Name).ToList();
            }

            var testsModel = new TestsViewModel
            {
                Tests       = tests,
                UserTests   = userTests,
                Algorithms  = algorithms,
                TestTypes   = testTypes,
                AlgorithmId = algorithmId,
                TestsType   = testsType,
                OrderBy     = orderBy
            };

            return(View(testsModel));
        }
        /// <summary>
        ///     Initializes a new <see cref="TestDetailPage" />.
        /// </summary>
        /// <param name="test">The NUnit test to associate with this detail pages.</param>
        /// <param name="initializeComponent">If the <see cref="InitializeComponent" /> should be called.</param>
        internal TestDetailPage(TestsViewModel test, bool initializeComponent)
        {
            ViewModel = test;

            if (initializeComponent)
            {
                InitializeComponent();

                BindingContext = ViewModel;
            }
        }
示例#19
0
        public void TestTestFilterPropertyWithTestNotNullReturnsFilterOnTestId()
        {
            ITest  testFixture = new TestSuite("suite-name");
            string expected    = NUnitFilter.Where.Id(testFixture.Id).Build().Filter.ToXml(true).OuterXml;

            TestsViewModel test = new TestsViewModel(v_Runner, testFixture);

            Assert.IsNotNull(test.Test);
            Assert.IsNotNull(test.TestFilter);
            Assert.AreEqual(expected, test.TestFilter.ToXml(true).OuterXml);
        }
        public void TestConstructorWithNUnitRunner([Values] bool isRunnerNull, [Values] bool isTestNull)
        {
            NUnitRunner    runner = isRunnerNull ? null : new NUnitRunner("runner-name");
            TestsViewModel test   = isTestNull ? null : new TestsViewModel(runner, new NUnitSuite("suite-name"));

            TestDetailPage page = new TestDetailPage(test, false);

            Assert.AreSame(test, page.ViewModel);
            Assert.AreSame(test?.TestRunner, page.ViewModel?.TestRunner);
            Assert.AreSame(test?.Test, page.ViewModel?.Test);
        }
示例#21
0
        public void TestFullDisplayNamePropertyWithTestFullNameAsDllFilePathReturnsFileNameWithoutExtension()
        {
            const string expected    = "suite-name";
            string       name        = Path.Combine(TestContext.CurrentContext.WorkDirectory, expected + ".dll");
            ITest        testFixture = new TestSuite(name);

            TestsViewModel test = new TestsViewModel(v_Runner, testFixture);

            Assert.IsNotNull(test.Test);
            Assert.AreEqual(expected, test.FullDisplayName);
        }
示例#22
0
        public void TestHasResultPropertyReturnsIfTestHasResult([Values] bool hasResult)
        {
            TestSuite        suite  = new TestSuite("suite-name");
            INUnitTestResult result = hasResult ? new NUnitTestResult(new TestSuiteResult(suite)) : null;

            TestsViewModel test = new TestsViewModel(v_Runner, null);

            test.Result = result;

            Assert.AreEqual(hasResult, test.HasResult);
        }
示例#23
0
        public bool MoveTest(TestsViewModel testsViewModel, int TestMasterIdFrom)
        {
            this.CreateTest(testsViewModel);

            testsViewModel.TestID = TestMasterIdFrom;
            Test test;

            test = _iMapper.Map <TestsViewModel, Test>(testsViewModel);
            testRepository.Update(test, o => o.IsActive, o => o.ModifiedBy, o => o.ModifiedOn);
            SaveTest();
            return(true);
        }
示例#24
0
        public ActionResult Test()
        {
            using (IUnityContainer container = UnityConfig.GetConfiguredContainer())
            {
                var testLogic      = container.Resolve <ITestLogic>();
                var testRepository = container.Resolve <ITestRepository>();

                var testViewModel = new TestsViewModel(testRepository.GetAll().ToList(), testLogic.GetAverageResult());

                return(View("Test", testViewModel));
            }
        }
示例#25
0
        public void TestConditionalDisplayNamePropertyWithTestIsSuiteAndNotClassAndNotMethodReturnsDisplayName()
        {
            MethodInfo  info        = GetType().GetMethods().First();
            IMethodInfo method      = new MethodWrapper(GetType(), info);
            ITest       testFixture = new TestMethod(method);

            TestsViewModel test = new TestsViewModel(v_Runner, testFixture);

            Assert.IsNotNull(test.Test);
            Assert.AreEqual(method.Name, test.ConditionalDisplayName);
            Assert.AreEqual(test.DisplayName, test.ConditionalDisplayName);
        }
示例#26
0
        public void TestConditionalDisplayNamePropertyWithTestIsSuiteAndNotClassAndNotMethodReturnsFullDisplayName()
        {
            const string parentName  = "parent";
            const string name        = "suite-name";
            ITest        testFixture = new TestSuite(parentName, name);

            TestsViewModel test = new TestsViewModel(v_Runner, testFixture);

            Assert.IsNotNull(test.Test);
            Assert.AreEqual($"{parentName}.{name}", test.ConditionalDisplayName);
            Assert.AreEqual(test.FullDisplayName, test.ConditionalDisplayName);
        }
示例#27
0
        public void TestResultPropertyCanBeSetAndInvokesPropertyChangedEventIfSetValueIsNotSameAsCurrentValue(
            [Values] bool withResult, [Values] bool isChangedEventNull)
        {
            object sender = null;
            PropertyChangedEventArgs args = null;
            int invocationCount           = 0;
            int expectedCount             = isChangedEventNull ? 0 : 1;

            NUnitRunner      runner = new NUnitRunner("runner-name");
            TestSuite        test   = new TestSuite("suite-name");
            INUnitTestResult result = withResult ? null : new NUnitTestResult(new TestSuiteResult(test));

            TestsViewModel model = new TestsViewModel(runner, test, result);

            INUnitTestResult initialResult =
                withResult ? new NUnitTestResult(new TestSuiteResult(new TestSuite("suite-name2"))) : null;

            model.Result = initialResult;

            IList <string> changedProps = new List <string>();

            if (!isChangedEventNull)
            {
                model.PropertyChanged += (s, a) =>
                {
                    changedProps.Add(a.PropertyName);
                    if (a.PropertyName.Equals("Result"))
                    {
                        sender = s;
                        args   = a;
                        invocationCount++;
                    }
                };
            }

            Assert.AreEqual(initialResult, model.Result);
            Assert.AreEqual(0, invocationCount);

            model.Result = result;

            Assert.AreEqual(result, model.Result);
            Assert.AreEqual(test, model.Test);
            Assert.AreEqual(expectedCount, invocationCount);
            if (!isChangedEventNull)
            {
                Assert.IsNotNull(sender);
                Assert.AreSame(model, sender);
                Assert.IsNotNull(args);
                Assert.AreEqual("Result", args.PropertyName);
                CollectionAssert.AreEquivalent(new[] { "Result", "HasResult" }, changedProps);
            }
        }
        public ActionResult New()
        {
            var tests = new Tests();

            tests.Id = GenerateUniqueId();

            var viewModel = new TestsViewModel
            {
                Tests       = tests,
                MedicalTest = _medicalTest.GetRecords,
            };

            return(View("TestForm", viewModel));
        }
示例#29
0
        public JsonResult MoveTest(TestsViewModel testsViewModel, int TestMasterIdFrom)
        {
            var result = _iTestClient.MoveTest(testsViewModel, TestMasterIdFrom);
            var Data   = new
            {
                Success      = !ModelState.IsValid ? false : true,
                testMasterId = testsViewModel.TestMasterID,
                Code         = !ModelState.IsValid ? 500 : 200,
                Message      = (testsViewModel.Operation.ToLower() == "move") ? "Test  moved " : "",
                error        = ModelState.Where(s => s.Value.Errors.Count > 0).Select(s => new { s.Key, s.Value.Errors[0].ErrorMessage }).ToList()
            };

            return(Json(Data, JsonRequestBehavior.AllowGet));
        }
示例#30
0
        public JsonResult RemoveFromTestMaster(TestsViewModel testsViewModel)
        {
            var result = _iTestClient.RemoveFromTestMaster(testsViewModel);
            var Data   = new
            {
                Success      = !ModelState.IsValid ? false : true,
                TestMasterId = testsViewModel.TestMasterID,
                Message      = "Test Removed",
                Code         = !ModelState.IsValid ? 500 : 200,
                error        = ModelState.Where(s => s.Value.Errors.Count > 0).Select(s => new { s.Key, s.Value.Errors[0].ErrorMessage }).ToList()
            };

            return(Json(Data, JsonRequestBehavior.AllowGet));
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {

            try
            {
                base.OnNavigatedTo(e);
                getIds = (string)e.Parameter;

                getParentID = getIds.Substring(0,1);
                getChildID = getIds.Substring(2);

                objChildrenViewModel = new ChildrenViewModel();
                objRegChild = new RegisterChild();

                objRegChild = objChildrenViewModel.getChildDetails(Convert.ToInt32(getChildID), Convert.ToInt32(getParentID));
                

                testsViewModel = new TestsViewModel();
                test = testsViewModel.GetTests(Convert.ToInt32(getIds.Substring(2)));

                lsViewTest.Items.Add("Test ID" + "\t" + "Right" + "\t" + "Wrong" + "\t" + "Date & Time");

                foreach (var c in test)
                {
                    lsViewTest.Items.Add(c.Id +  " \t" + c.RightAnswers + "\t" + c.WrongAnswers + "\t" + c.Date);

                }
                base.OnNavigatedTo(e);

                lblChId.Text = "" + objRegChild.Id + " - " + objRegChild.Name + " " + objRegChild.Surname; 

            }
            catch (Exception)
            {

            }


        }