コード例 #1
0
ファイル: ApiController.cs プロジェクト: samstikhin/Ulearn
 public ApiController(
     AntiPlagiarismDb db,
     ISubmissionsRepo submissionsRepo, ISnippetsRepo snippetsRepo, ITasksRepo tasksRepo,
     IClientsRepo clientsRepo, IWorkQueueRepo workQueueRepo,
     IMostSimilarSubmissionsRepo mostSimilarSubmissionsRepo,
     IManualSuspicionLevelsRepo manualSuspicionLevelsRepo,
     PlagiarismDetector plagiarismDetector,
     CodeUnitsExtractor codeUnitsExtractor,
     IServiceScopeFactory serviceScopeFactory,
     NewSubmissionHandler newSubmissionHandler,
     IOptions <AntiPlagiarismConfiguration> configuration)
     : base(clientsRepo, db)
 {
     this.submissionsRepo            = submissionsRepo;
     this.snippetsRepo               = snippetsRepo;
     this.tasksRepo                  = tasksRepo;
     this.workQueueRepo              = workQueueRepo;
     this.mostSimilarSubmissionsRepo = mostSimilarSubmissionsRepo;
     this.manualSuspicionLevelsRepo  = manualSuspicionLevelsRepo;
     this.plagiarismDetector         = plagiarismDetector;
     this.codeUnitsExtractor         = codeUnitsExtractor;
     this.newSubmissionHandler       = newSubmissionHandler;
     this.serviceScopeFactory        = serviceScopeFactory;
     this.configuration              = configuration.Value;
 }
コード例 #2
0
 public AntiPlagiarismSnippetsUpdater(
     SubmissionSnippetsExtractor submissionSnippetsExtractor,
     CodeUnitsExtractor codeUnitsExtractor,
     IServiceScopeFactory serviceScopeFactory,
     IOptions <AntiPlagiarismConfiguration> configuration)
 {
     this.submissionSnippetsExtractor = submissionSnippetsExtractor;
     this.codeUnitsExtractor          = codeUnitsExtractor;
     this.serviceScopeFactory         = serviceScopeFactory;
     this.configuration = configuration.Value;
 }
コード例 #3
0
 public AntiPlagiarismSnippetsUpdater(
     SubmissionSnippetsExtractor submissionSnippetsExtractor,
     CodeUnitsExtractor codeUnitsExtractor,
     IServiceScopeFactory serviceScopeFactory,
     ILogger logger)
 {
     this.submissionSnippetsExtractor = submissionSnippetsExtractor;
     this.codeUnitsExtractor          = codeUnitsExtractor;
     this.serviceScopeFactory         = serviceScopeFactory;
     this.logger = logger;
 }
コード例 #4
0
 public ApiController(
     ISubmissionsRepo submissionsRepo, ISnippetsRepo snippetsRepo, ITasksRepo tasksRepo,
     StatisticsParametersFinder statisticsParametersFinder,
     PlagiarismDetector plagiarismDetector,
     CodeUnitsExtractor codeUnitsExtractor,
     ILogger logger,
     IOptions <AntiPlagiarismConfiguration> configuration)
     : base(logger)
 {
     this.submissionsRepo            = submissionsRepo;
     this.snippetsRepo               = snippetsRepo;
     this.tasksRepo                  = tasksRepo;
     this.statisticsParametersFinder = statisticsParametersFinder;
     this.plagiarismDetector         = plagiarismDetector;
     this.codeUnitsExtractor         = codeUnitsExtractor;
     this.configuration              = configuration.Value;
 }
コード例 #5
0
 public ApiController(
     AntiPlagiarismDb db,
     ISubmissionsRepo submissionsRepo, ISnippetsRepo snippetsRepo, ITasksRepo tasksRepo, IClientsRepo clientsRepo,
     StatisticsParametersFinder statisticsParametersFinder,
     PlagiarismDetector plagiarismDetector,
     CodeUnitsExtractor codeUnitsExtractor,
     SubmissionSnippetsExtractor submissionSnippetsExtractor,
     ILogger logger,
     IServiceScopeFactory serviceScopeFactory,
     IOptions <AntiPlagiarismConfiguration> configuration)
     : base(logger, clientsRepo, db)
 {
     this.submissionsRepo             = submissionsRepo;
     this.snippetsRepo                = snippetsRepo;
     this.tasksRepo                   = tasksRepo;
     this.statisticsParametersFinder  = statisticsParametersFinder;
     this.plagiarismDetector          = plagiarismDetector;
     this.codeUnitsExtractor          = codeUnitsExtractor;
     this.submissionSnippetsExtractor = submissionSnippetsExtractor;
     this.serviceScopeFactory         = serviceScopeFactory;
     this.configuration               = configuration.Value;
 }
コード例 #6
0
        public void GiveCorrectNodeNames()
        {
            var syntaxTree     = CSharpSyntaxTree.ParseText(CommonTestData.SimpleProgramWithMethodAndProperty);
            var syntaxTreeRoot = syntaxTree.GetRoot();

            Assert.AreEqual("ROOT", CodeUnitsExtractor.GetNodeName(syntaxTreeRoot));

            var namespaceDeclaration = syntaxTreeRoot.ChildNodes().First(n => n.Kind() == SyntaxKind.NamespaceDeclaration);

            Assert.AreEqual("HelloWorld.Namespace", CodeUnitsExtractor.GetNodeName(namespaceDeclaration));

            var classDeclaration = namespaceDeclaration.ChildNodes().First(n => n.Kind() == SyntaxKind.ClassDeclaration);

            Assert.AreEqual("Program", CodeUnitsExtractor.GetNodeName(classDeclaration));

            var methodDeclaration = classDeclaration.ChildNodes().First(n => n.Kind() == SyntaxKind.MethodDeclaration);

            Assert.AreEqual("Main", CodeUnitsExtractor.GetNodeName(methodDeclaration));

            var propertyDeclaration = classDeclaration.ChildNodes().First(n => n.Kind() == SyntaxKind.PropertyDeclaration);

            Assert.AreEqual("A", CodeUnitsExtractor.GetNodeName(propertyDeclaration));
        }
コード例 #7
0
 public void SetUp()
 {
     extractor = new CodeUnitsExtractor();
 }