public void CodeCellMarkers() { foreach (var trueMarker in new[] { "#%%", "#%% Comment", "# In[1]:", "# In[abcdefg]:comment after", "#In[1043540398340162312]:" }) { foreach (var ws in new[] { "", " ", "\t", " \t " }) { Assert.IsTrue(CCA.IsCellMarker(ws + trueMarker), ShowWhitespace(ws + trueMarker)); Assert.IsTrue(CCA.IsCellMarker(trueMarker + ws), ShowWhitespace(trueMarker + ws)); Assert.IsTrue(CCA.IsCellMarker(ws + trueMarker + ws), ShowWhitespace(ws + trueMarker + ws)); } } foreach (var falseMarker in new[] { "", "#", "'''#%%'''", "# In[abcdefg]", "# In[abcdefg] :" }) { Assert.IsFalse(CCA.IsCellMarker(falseMarker), ShowWhitespace(falseMarker)); } }
private static void AssertCellStart(ITextBuffer buffer, int startFromLine, int expectedLine) { var found = CCA.FindStartOfCell(buffer.CurrentSnapshot.GetLineFromLineNumber(startFromLine)); if (expectedLine < 0) { Assert.IsNull(found, "Actually found: " + found?.GetText() ?? "(null)"); } else { Assert.IsNotNull(found, "Actually found: (null)\r\n\r\nExpected: " + buffer.CurrentSnapshot.GetLineFromLineNumber(expectedLine).GetText()); Assert.AreEqual(expectedLine, found.LineNumber, "Actually found: " + found.GetText()); } }