public void AddHeaderToCodeTest() { List<string> inputCode = new List<string>() { "1", "2", "5", "6" }; PreProcessorParser target = new PreProcessorParser(inputCode); PrivateObject po = new PrivateObject(target); List<string> includeCode = new List<string>() { "3", "4" }; po.Invoke("AddHeaderToCode", new Type[]{typeof(int), typeof(List<string>)}, new Object[]{2, includeCode} ); List<string> actual = (List<string>)po.GetField("code"); List<string> expected = new List<string>() { "1", "2", "3", "4", "5", "6" }; Assert.AreEqual(expected.Count, actual.Count); for (int i = 0; i < expected.Count; i++) { Assert.AreEqual(expected[i], actual[i]); } }
public void DefinitionsGatheringTest() { List<string> inputCode = new List<string>() { "#define dupa 2dupy\\", " a nawet 3 dupy" }; PreProcessorParser target = new PreProcessorParser(inputCode); PrivateObject po = new PrivateObject(target); po.Invoke("GetMacros"); List<KeyValuePair<string, string>> actual = (List<KeyValuePair<string, string>>)po.GetField("objectLikeMacros"); Assert.AreEqual(1, actual.Count); Assert.AreEqual("dupa", actual[0].Key); Assert.AreEqual("2dupy a nawet 3 dupy", actual[0].Value); }
public void RemoveTextBlockTestFromOneLine() { List<string> inputCode = new List<string>() { "12345" }; PreProcessorParser target = new PreProcessorParser(inputCode); PrivateObject po = new PrivateObject(target); int startLine = 0; int startChar = 1; int endLine = 0; int endChar = 3; po.Invoke( "RemoveTextBlock", new Type[] { typeof(int), typeof(int), typeof(int), typeof(int) }, new object[] { startLine, startChar, endLine, endChar } ); List<string> expected = new List<string>() { "145", }; List<string> actual = (List<string>)po.GetField("code"); Assert.AreEqual(expected.Count, actual.Count); for (int i = 0; i < expected.Count; i++) { Assert.AreEqual(expected[i], actual[i]); } }
public void RemoveOneLineCommentsTest() { var inputCode = new List<string>() { @"dsadsa /* fdsfjdis // iropew", @"dsadsa */ gdkops" }; PreProcessorParser target = new PreProcessorParser(inputCode); PrivateObject po = new PrivateObject(target); po.Invoke("RemoveOneLineComments", new Type[] { }, new Object[] { }); List<string> actual = (List<string>)po.GetField("code"); Assert.AreEqual(2, actual.Count); Assert.AreEqual(@"dsadsa /* fdsfjdis ", actual[0]); Assert.AreEqual(@"dsadsa */ gdkops", actual[1]); }
public void ifndefendifTest() { List<string> inputCode = new List<string>() { "#ifndef dupa", "tekst1", "#endif", "#ifdef dupa", "tekst2", "#endif", "#define dupa", "#ifndef dupa", "tekst3", "#endif", "#ifdef dupa", "tekst4", "#endif" }; PreProcessorParser target = new PreProcessorParser(inputCode); PrivateObject po = new PrivateObject(target); po.Invoke("GetMacros"); List<string> expected = new List<string>() { "", "tekst1", "", "", "", "", "", "", "", "", "", "tekst4", "" }; List<string> actual = (List<string>)po.GetField("code"); Assert.AreEqual(expected.Count, actual.Count); for (int i = 0; i < expected.Count; i++) { Assert.AreEqual(expected[i], actual[i]); } }
public void GetFileNameFromPathTest() { PreProcessorParser target = new PreProcessorParser(new List<string>()); PrivateObject po = new PrivateObject(target); //test1 string actual = (string)po.Invoke( "GetFileNameFromPath", new Type[]{typeof(string)}, new Object[]{@"D:\cad\dupa.dupa"} ); Assert.AreEqual("dupa.dupa", actual); //test2 actual = (string)po.Invoke( "GetFileNameFromPath", new Type[] { typeof(string) }, new Object[] { @"D:/cad/pupa.pupa" } ); Assert.AreEqual("pupa.pupa", actual); }