use of nl.tudelft.watchdog.core.logic.document.Document in project watchdog by TestRoots.
the class MarkupModelListenerTest method correctly_generates_document_information.
@Test
public void correctly_generates_document_information() throws Exception {
List<StaticAnalysisWarningEvent> generatedWarnings = this.deleteMarkerAndReturnGeneratedWarningList(this.preExistingMarker);
assertEquals(generatedWarnings.size(), 1);
Document document = generatedWarnings.get(0).document;
assertEquals(document.getFileName(), "Existing.java");
assertEquals(document.getContent().split("\\d+").length, 25);
}
use of nl.tudelft.watchdog.core.logic.document.Document in project watchdog by TestRoots.
the class DocumentCreatorTest method testCreateDocument.
/**
* Tests whether the creation of a Java production class via the
* {@link DocumentCreator} actually returns said class, and that the
* document classification returns the correct type.
*/
@Test
public void testCreateDocument() {
String contents = "public class A {}";
ITextEditor mockedEditor = mock(ITextEditor.class);
IDocumentProvider mockedProvider = mock(IDocumentProvider.class);
org.eclipse.jface.text.IDocument mockedDocument = mock(org.eclipse.jface.text.IDocument.class);
when(mockedEditor.getDocumentProvider()).thenReturn(mockedProvider);
when(mockedProvider.getDocument(Mockito.any())).thenReturn(mockedDocument);
when(mockedDocument.get()).thenReturn(contents);
when(mockedEditor.getTitle()).thenReturn("A.java");
Document doc = DocumentCreator.createDocument(mockedEditor);
assertEquals("A.java", doc.getFileName());
doc.prepareDocument();
assertEquals(DocumentType.PRODUCTION, doc.getDocumentType());
}
use of nl.tudelft.watchdog.core.logic.document.Document in project watchdog by TestRoots.
the class IntervalJsonConverterTest method testJsonTypingIntervalTwoSameIntervalsRepresentation.
/**
* Tests the format of the returned Json representation.
*/
@Test
public void testJsonTypingIntervalTwoSameIntervalsRepresentation() {
ITextEditor editor = Mockito.mock(ITextEditor.class);
TypingInterval interval = new TypingInterval(new EditorWrapper(editor), new Date());
interval.setDocument(new Document("Project", "filepath", "Production.java", "blah-document"));
interval.setEndingDocument(new Document("Project", "Production.java", "filepath", "blah-document"));
ArrayList<WatchDogItem> intervals = createSampleIntervals(interval);
assertEquals("[{\"endingDocument\":{\"pn\":\"f6f4da8d93e88a08220e03b7810451d3ba540a34\",\"fn\":\"90a8834de76326869f3e703cd61513081ad73d3c\",\"sloc\":1,\"dt\":\"pr\"},\"diff\":0,\"modCountDiff\":0,\"charLengthDiff\":0,\"doc\":{\"pn\":\"f6f4da8d93e88a08220e03b7810451d3ba540a34\",\"fn\":\"90a8834de76326869f3e703cd61513081ad73d3c\",\"sloc\":1,\"dt\":\"pr\"},\"it\":\"ty\",\"ts\":1,\"te\":2,\"ss\":\"\"," + pasteWDVAndClient() + "}]", transferer.toJson(intervals));
}
use of nl.tudelft.watchdog.core.logic.document.Document in project watchdog by TestRoots.
the class IntervalJsonConverterTest method testJsonTypingIntervalDiffsNoChanges.
@Test
public void testJsonTypingIntervalDiffsNoChanges() {
ITextEditor editor = Mockito.mock(ITextEditor.class);
TypingInterval interval = new TypingInterval(new EditorWrapper(editor), new Date(1));
interval.setDocument(new Document("Project", "filepath", "Production.java", "blah-document"));
interval.setEndingDocument(new Document("Project", "filepath", "Production.java", "blah-document"));
interval.close();
sleepABit();
ArrayList<WatchDogItem> intervals = new ArrayList<>();
intervals.add(interval);
assertEquals("[{\"endingDocument\":{\"pn\":\"f6f4da8d93e88a08220e03b7810451d3ba540a34\",\"fn\":\"e4afa075bb910c8ecb427e9950426a4599b21d7e\",\"sloc\":1,\"dt\":\"un\"},\"diff\":0,\"modCountDiff\":0,\"charLengthDiff\":0,\"doc\":{\"pn\":\"f6f4da8d93e88a08220e03b7810451d3ba540a34\",\"fn\":\"e4afa075bb910c8ecb427e9950426a4599b21d7e\",\"sloc\":1,\"dt\":\"un\"},\"it\":\"ty\",\"ts\":1," + pasteWDVAndClient() + "}]", transferer.toJson(intervals));
}
use of nl.tudelft.watchdog.core.logic.document.Document in project watchdog by TestRoots.
the class IntervalJsonConverterTest method testJsonTypingIntervalDiffsRemoval.
@Test
public void testJsonTypingIntervalDiffsRemoval() {
ITextEditor editor = Mockito.mock(ITextEditor.class);
TypingInterval interval = new TypingInterval(new EditorWrapper(editor), new Date(1));
interval.setDocument(new Document("Project", "filepath", "Production.java", "blah-document"));
interval.setEndingDocument(new Document("Project", "filepath", "Production.java", "blah-doc"));
interval.close();
sleepABit();
ArrayList<WatchDogItem> intervals = new ArrayList<>();
intervals.add(interval);
assertEquals("[{\"endingDocument\":{\"pn\":\"f6f4da8d93e88a08220e03b7810451d3ba540a34\",\"fn\":\"e4afa075bb910c8ecb427e9950426a4599b21d7e\",\"sloc\":1,\"dt\":\"un\"},\"diff\":5,\"modCountDiff\":0,\"charLengthDiff\":5,\"doc\":{\"pn\":\"f6f4da8d93e88a08220e03b7810451d3ba540a34\",\"fn\":\"e4afa075bb910c8ecb427e9950426a4599b21d7e\",\"sloc\":1,\"dt\":\"un\"},\"it\":\"ty\",\"ts\":1," + pasteWDVAndClient() + "}]", transferer.toJson(intervals));
}
Aggregations