예제 #1
0
        public void RemoveSpaceTest1()
        {
            string    mml1   = "T150CあDいEうFえ";
            string    mml2   = " T150Cあ \tDい Eう\r\nFえ ";
            MMLParser parser = new MMLParser();
            var       p1     = parser.Parse(mml1);
            var       p2     = parser.Parse(mml2);

            CollectionAssert.AreEqual(p1, p2);
        }
예제 #2
0
        public void LengthException1()
        {
            string    mml    = "L";
            MMLParser parser = new MMLParser();

            IElement[] parsed = parser.Parse(mml);
        }
예제 #3
0
        public void Exception8()
        {
            string    mml    = "Cあ>>Dい<<E";
            MMLParser parser = new MMLParser();

            IElement[] parsed = parser.Parse(mml);
        }
예제 #4
0
        public void Exception7()
        {
            string    mml    = "O8>";
            MMLParser parser = new MMLParser();

            IElement[] parsed = parser.Parse(mml);
        }
예제 #5
0
        public void OctaveReverseTest1()
        {
            string    mml    = "Cあ>>Dい<<Eう";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Note {
                    Octave = 4, Step = "C", Length = 4, Alter = 0, HasDot = false, Lyric = "あ", MML = "Cあ"
                },
                new Octave {
                    Value = 3, MML = ">"
                },
                new Octave {
                    Value = 2, MML = ">"
                },
                new Note {
                    Octave = 2, Step = "D", Length = 4, Alter = 0, HasDot = false, Lyric = "い", MML = "Dい"
                },
                new Octave {
                    Value = 3, MML = "<"
                },
                new Octave {
                    Value = 4, MML = "<"
                },
                new Note {
                    Octave = 4, Step = "E", Length = 4, Alter = 0, HasDot = false, Lyric = "う", MML = "Eう"
                }
            };
            IElement[] parsed = parser.Parse(mml, true);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #6
0
        public void OctaveException1()
        {
            string    mml    = "O";
            MMLParser parser = new MMLParser();

            IElement[] parsed = parser.Parse(mml);
        }
예제 #7
0
        public void TripletTest1()
        {
            string    mml    = "L6CあCあCあR2";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Length {
                    Value = 6, MML = "L6"
                },
                new Note {
                    Octave = 4, Step = "C", Length = 6, Alter = 0, HasDot = false, Lyric = "あ", MML = "Cあ"
                },
                new Note {
                    Octave = 4, Step = "C", Length = 6, Alter = 0, HasDot = false, Lyric = "あ", MML = "Cあ"
                },
                new Note {
                    Octave = 4, Step = "C", Length = 6, Alter = 0, HasDot = false, Lyric = "あ", MML = "Cあ"
                },
                new Rest {
                    Length = 2, MML = "R2"
                }
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #8
0
        private void AssertException(string mml)
        {
            MMLParser         parser = new MMLParser();
            var               parsed = parser.Parse(mml);
            MusicXMLGenerator g      = new MusicXMLGenerator();

            g.GenerateFromElements(parsed);
        }
예제 #9
0
파일: MMLTests.cs 프로젝트: Beaend/Miki
        public void MMLTestBig()
        {
            Dictionary <string, object> testDict = MMLParser.Parse("-aa:ab -bc:12, -yes:no -no:yes -num:123");

            Debug.Assert("ab" == (string)testDict["aa"], "MML string failed");
            Debug.Assert(12 == (int)testDict["bc"], "MML Test int Failed");;
            Debug.Assert(!(bool)testDict["no"], "MML Test Big Failed");
        }
예제 #10
0
        public async Task SetupNotifications(EventContext e)
        {
            MMLParser   mml      = new MMLParser(e.Arguments.ToString());
            MSLResponse response = mml.Parse();

            bool global = response.GetBool("g");
            LevelNotificationsSetting type = Enum.Parse <LevelNotificationsSetting>(response.GetString("type"), true);

            await Setting.UpdateAsync(e.Channel.Id, DatabaseSettingId.LEVEL_NOTIFICATIONS, (int)type);
        }
예제 #11
0
        public void EmptyTest0()
        {
            string    mml    = "";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #12
0
        public override bool OnInitialize()
        {
            base.OnInitialize();

            _dataBuffer = new UnsafeBuffer(Header->_dataLength);
            Memory.Move(_dataBuffer.Address, Header->Data, (uint)Header->_dataLength);
            SetSizeInternal(Header->_dataLength);

            _cmds = MMLParser.Parse(Header->Data + 12);

            return(true);
        }
예제 #13
0
        public void LengthTest1()
        {
            string    mml    = "L4";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Length {
                    Value = 4, MML = "L4"
                }
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #14
0
        public void NoteFlatTest1()
        {
            string    mml    = "C-あ";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Note {
                    Octave = 4, Step = "C", Length = 4, Alter = -1, HasDot = false, Lyric = "あ", MML = "C-あ"
                },
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #15
0
        public void TempoTest1()
        {
            string    mml    = "T150Cあ";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Tempo {
                    Value = 150, MML = "T150"
                },
                new Note {
                    Octave = 4, Step = "C", Length = 4, Alter = 0, HasDot = false, Lyric = "あ", MML = "Cあ"
                }
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #16
0
        public async Task SetupNotifications(EventContext e)
        {
            if (string.IsNullOrWhiteSpace(e.Arguments.ToString()))
            {
                Task.Run(async() => await SetupNotificationsInteractive <LevelNotificationsSetting>(e, DatabaseSettingId.LEVEL_NOTIFICATIONS));
            }
            else
            {
                MMLParser   mml      = new MMLParser(e.Arguments.ToString());
                MSLResponse response = mml.Parse();

                bool global = response.GetBool("g");
                LevelNotificationsSetting type = Enum.Parse <LevelNotificationsSetting>(response.GetString("type"), true);

                await Setting.UpdateAsync(e.Channel.Id, DatabaseSettingId.LEVEL_NOTIFICATIONS, (int)type);
            }
        }
예제 #17
0
        private void AssertMusicXmlAreEqual(string mml, bool create)
        {
            System.Diagnostics.StackFrame callerFrame  = new System.Diagnostics.StackFrame(1);
            System.Reflection.MethodBase  callerMethod = callerFrame.GetMethod();
            string methodName = callerMethod.Name;

            MMLParser parser = new MMLParser();

            IElement[]        parsed = parser.Parse(mml);
            MusicXMLGenerator g      = new MusicXMLGenerator();
            var xElement             = g.GenerateFromElements(parsed);

            if (create)
            {
                WriteXml(methodName, xElement);
            }
            var expected = ReadXml(methodName);

            Assert.AreEqual(expected, xElement.ToString());
        }
예제 #18
0
        public void DotTest1()
        {
            string    mml    = "C2.うC4.あC8.い";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Note {
                    Octave = 4, Step = "C", Length = 2, Alter = 0, HasDot = true, Lyric = "う", MML = "C2.う"
                },
                new Note {
                    Octave = 4, Step = "C", Length = 4, Alter = 0, HasDot = true, Lyric = "あ", MML = "C4.あ"
                },
                new Note {
                    Octave = 4, Step = "C", Length = 8, Alter = 0, HasDot = true, Lyric = "い", MML = "C8.い"
                }
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #19
0
        public void NoteTest1()
        {
            string    mml    = "CあDいEうFえGおAかBき>Cく";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Note {
                    Octave = 4, Step = "C", Length = 4, Alter = 0, HasDot = false, Lyric = "あ", MML = "Cあ"
                },
                new Note {
                    Octave = 4, Step = "D", Length = 4, Alter = 0, HasDot = false, Lyric = "い", MML = "Dい"
                },
                new Note {
                    Octave = 4, Step = "E", Length = 4, Alter = 0, HasDot = false, Lyric = "う", MML = "Eう"
                },
                new Note {
                    Octave = 4, Step = "F", Length = 4, Alter = 0, HasDot = false, Lyric = "え", MML = "Fえ"
                },
                new Note {
                    Octave = 4, Step = "G", Length = 4, Alter = 0, HasDot = false, Lyric = "お", MML = "Gお"
                },
                new Note {
                    Octave = 4, Step = "A", Length = 4, Alter = 0, HasDot = false, Lyric = "か", MML = "Aか"
                },
                new Note {
                    Octave = 4, Step = "B", Length = 4, Alter = 0, HasDot = false, Lyric = "き", MML = "Bき"
                },
                new Octave {
                    Value = 5, MML = ">"
                },
                new Note {
                    Octave = 5, Step = "C", Length = 4, Alter = 0, HasDot = false, Lyric = "く", MML = "Cく"
                }
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #20
0
        public void NoteTest3()
        {
            string    mml    = "CあL8DいE4う";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Note {
                    Octave = 4, Step = "C", Length = 4, Alter = 0, HasDot = false, Lyric = "あ", MML = "Cあ"
                },
                new Length {
                    Value = 8, MML = "L8"
                },
                new Note {
                    Octave = 4, Step = "D", Length = 8, Alter = 0, HasDot = false, Lyric = "い", MML = "Dい"
                },
                new Note {
                    Octave = 4, Step = "E", Length = 4, Alter = 0, HasDot = false, Lyric = "う", MML = "E4う"
                }
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }
예제 #21
0
        public void RestTest1()
        {
            string    mml    = "RR1L8R";
            MMLParser parser = new MMLParser();

            IElement[] elements = new IElement[]
            {
                new Rest {
                    Length = 4, HasDot = false, MML = "R"
                },
                new Rest {
                    Length = 1, HasDot = false, MML = "R1"
                },
                new Length {
                    Value = 8, MML = "L8"
                },
                new Rest {
                    Length = 8, HasDot = false, MML = "R"
                }
            };
            IElement[] parsed = parser.Parse(mml);
            CollectionAssert.AreEqual(elements, parsed);
        }