Esempio n. 1
0
        public void ImportDocumentTest2()
        {
            MeiDocument testDoc = MeiImport.ImportDocument("..\\..\\files\\MeiImportTest2.xml");

            Assert.IsNotNull(testDoc.SchemaLocation);
            Assert.IsNotNull(from node in testDoc.Nodes().OfType <XProcessingInstruction>() select node.Target != "xml-model");
        }
    public void MeiDocumentTest()
    {
      Mei blubb = new Mei();
      MeiDocument testDoc = new MeiDocument(blubb);

      Assert.IsNotNull(testDoc);
    }
Esempio n. 3
0
        /// <summary>
        /// Reads Mei-File and generates sequences per panel.
        /// </summary>
        /// <param name="_filedir">Path to Mei file</param>
        /// <returns>List of sequence objects</returns>
        public static List <Sequence> GetSequences(string _filedir)
        {
            MeiDocument doc  = MeiImport.ImportDocument(_filedir);
            MeiElement  root = doc.Root;

            List <Sequence> sequences = new List <Sequence>();

            string piece;

            //Get name of piece
            try
            {
                piece = root.Element <MeiHead>().Element <FileDesc>().Descendants <Title>().FirstOrDefault().Value;
            }
            catch
            {
                string[] splitUri = doc.BaseUri.Split('/');
                piece = splitUri[splitUri.Length - 1];
            }

            foreach (Panel panel in root.Descendants <Panel>())
            {
                List <Sequence> sequencesPerPart = SequenceHandler.GetPreConversionSequence(panel, piece);

                foreach (Sequence stateSequence in sequencesPerPart)
                {
                    sequences.Add(stateSequence);
                }
            }

            return(sequences);
        }
    public void SetSchemaLocationTest()
    {
      string schemaLoc = "bla";
      MeiDocument testDoc = new MeiDocument(new Mei(new XAttribute("label","foo")));

      testDoc.SetSchemaLocation(schemaLoc);

      Assert.AreEqual(schemaLoc, testDoc.SchemaLocation);
    }
Esempio n. 5
0
        public void ImportExportCompare()
        {
            XDocument   xDoc   = XDocument.Load("..\\..\\files\\MeiImportTest2.xml");
            MeiDocument meiDoc = MeiImport.ImportDocument("..\\..\\files\\MeiImportTest2.xml");

            string xString   = xDoc.ToString();
            string meiString = meiDoc.ToString();

            Equals(xString, meiString);
        }
    public void SaveDocumentTest()
    {
      if(File.Exists("test.xml"))
      {
        File.Delete("test.xml");
      }

      MeiDocument testDoc = new MeiDocument(new Mei(new XAttribute("label", "foo")));
      testDoc.SetSchemaLocation("foobarfoobarfoo");

      testDoc.Save("test.xml");

      bool check = File.Exists("test.xml");

      Assert.IsTrue(check);
    }
Esempio n. 7
0
        public void ImportDocumentTest3()
        {
            MeiDocument testDoc = MeiImport.ImportDocument("..\\..\\files\\MeiImportTest3.xml");

            IEnumerable <XProcessingInstruction> models = from node in testDoc.Nodes().OfType <XProcessingInstruction>().Where(node => node.Target == "xml-model") select node;

            List <string> href_compare = new List <string>();

            Match hrefs;

            foreach (XProcessingInstruction model in models)
            {
                //Get schemaLocation from pImodel.Data
                //See example here: https://msdn.microsoft.com/de-de/library/t9e807fx(v=vs.110).aspx

                string HRefPattern = "href\\s*=\\s*(?:[\"'](?<1>[^\"']*)[\"']|(?<1>\\S+))";

                try
                {
                    hrefs = Regex.Match(model.Data, HRefPattern,
                                        RegexOptions.IgnoreCase | RegexOptions.Compiled,
                                        TimeSpan.FromSeconds(1));
                    while (hrefs.Success)
                    {
                        href_compare.Add(hrefs.Groups[1].ToString());
                        hrefs = hrefs.NextMatch();
                    }
                }

                catch (RegexMatchTimeoutException)
                {
                    break;
                }
            }

            Assert.AreEqual(testDoc.SchemaLocation, string.Empty);
            CollectionAssert.AllItemsAreUnique(href_compare);
        }
Esempio n. 8
0
        public void ImportDocumentTest1()
        {
            MeiDocument testDoc = MeiImport.ImportDocument("..\\..\\files\\MeiImportTest1.xml");

            Assert.IsNotNull(testDoc);
        }