Beispiel #1
0
        public void TestGenerateSrcMLFromStrings()
        {
            List <String> bufferList = new List <String>();
            List <String> fileList   = new List <String>();

            String str  = "int main(){int c; c = 0; ++c;}";
            String str2 = "int foo(){int c; c = 0; ++c;}";

            fileList.Add("input.cpp");
            fileList.Add("input2.cpp");
            bufferList.Add(str);
            bufferList.Add(str2);

            LibSrcMLRunner run = new LibSrcMLRunner();

            try {
                List <string> b = run.GenerateSrcMLFromStrings(bufferList, fileList, Language.CPlusPlus, new Collection <UInt32>()
                {
                    LibSrcMLRunner.SrcMLOptions.SRCML_OPTION_MODIFIER
                }, false).ToList <string>();
                Assert.True(Convert.ToBoolean(b.Count));
                XDocument doc   = XDocument.Parse(b.ElementAt(0));
                var       units = from unit in doc.Descendants(XName.Get("unit", "http://www.srcML.org/srcML/src"))
                                  where unit.Attribute("filename") != null
                                  select unit;

                string file = "input.cpp";
                var    f1   = (from ele in units
                               where ele.Attribute("filename").Value == file
                               select ele);
                Assert.AreEqual(file, f1.FirstOrDefault().Attribute("filename").Value);

                string file2 = "input2.cpp";
                var    f2    = (from ele in units
                                where ele.Attribute("filename").Value == file2
                                select ele);
                Assert.AreEqual(file2, f2.FirstOrDefault().Attribute("filename").Value);
            }
            catch (SrcMLException e) {
                throw e;
            }
        }