Ejemplo n.º 1
0
        public void ToAsciiGurmukhi()
        {
            var words = new[]
            {
                new { Unicode = "ਖੋਜ", Ascii = "Koj" },
                new { Unicode = "ਹਿਰ", Ascii = "ihr" },
                new { Unicode = "ਮਿਲੵਿੋ", Ascii = "imil´o" },
                new { Unicode = "ਭ੍ਯਿੋ", Ascii = "iBÎo" },
                new { Unicode = "ਕੁਲ ਜਨ ਮਧੇ ਮਿਲੵਿੋ ਸਾਰਗ ਪਾਨ ਰੇ ॥", Ascii = "kul jn mDy imil´o swrg pwn ry ]" },
                new { Unicode = "ਤੂ ਪ੍ਰਭ ਦਾਤਾ ਦਾਨਿ ਮਤਿ ਪੂਰਾ ਹਮ ਥਾਰੇ ਭੇਖਾਰੀ ਜੀਉ ॥", Ascii = "qU pRB dwqw dwin miq pUrw hm Qwry ByKwrI jIau ]" },
                new { Unicode = "ਸੋ ਬ੍ਰਹਮੁ ਅਜੋਨੀ ਹੈ ਭੀ ਹੋਨੀ ਘਟ ਭੀਤਰਿ ਦੇਖੁ ਮੁਰਾਰੀ ਜੀਉ ॥੨॥", Ascii = "so bRhmu AjonI hY BI honI Gt BIqir dyKu murwrI jIau ]2]" },
                new { Unicode = "ਜ਼ਨੇ ਪੇਚ ਦਸਤਾਰ ਰਾ ਤਾਬਦਾਦ ॥", Ascii = "zny pyc dsqwr rw qwbdwd ]" },
                new { Unicode = "ਸਉਡਿਸਇਸ ਇਸ ਇਸਣੀ ਆਦਿ ਬਖਾਨਿ ਕੈ ॥", Ascii = "sauifsies ies iesxI Awid bKwin kY ]" },
                new { Unicode = "ਅਜ਼ੋ ਗਸ਼ਤਾ ਹਰ ਜ਼ੱਰਰਾ ਖ਼ੁਰਸ਼ੈਦ ਤਾਬ ॥੯੬॥", Ascii = "Azo gSqw hr z`rrw ^urSYd qwb ]96]" },
                new { Unicode = "ਹਮਾ ਸਾਇਲਿ ਲੁਤਫ਼ਿ ਹਕ ਪਰਵਰਸ਼ ॥", Ascii = "hmw swieil luqi& hk prvrS ]" },
                new { Unicode = "ਸੁ ਬੈਠਿ ਇਕੰਤ੍ਰ ॥੫੭੮॥", Ascii = "su bYiT iekMqR ]578]" },
                new { Unicode = "ਇਤਿ ਸ੍ਰੀ ਬਚਿਤ੍ਰ ਨਾਟਕੇ ਮਨੁ ਰਾਜਾ ਕੋ ਰਾਜ ਸਮਾਪਤੰ ॥੧॥੫॥", Ascii = "ieiq sRI bicqR nwtky mnu rwjw ko rwj smwpqM ]1]5]" },
                new { Unicode = "ਢਾਕਨਹਾਰੇ ਪ੍ਰਭੂ ਹਮਾਰੇ ਜੀਅ ਪ੍ਰਾਨ ਸੁਖਦਾਤੇ ॥", Ascii = "Fwknhwry pRBU hmwry jIA pRwn suKdwqy ]" },
                new { Unicode = "ਮੰਤ੍ਰੁ", Ascii = "mMqRü" },
                new { Unicode = "ਤਿਸੁ ਵਿਣੁ ਸਭੁ ਅਪਵਿਤ੍ਰੁ ਹੈ ਜੇਤਾ ਪੈਨਣੁ ਖਾਣੁ ॥", Ascii = "iqsu ivxu sBu ApivqRü hY jyqw pYnxu Kwxu ]" },
                new { Unicode = "ਸੋਢੀ ਸ੍ਰਿਸ੍ਟਿ ਸਕਲ ਤਾਰਣ ਕਉ ਅਬ ਗੁਰ ਰਾਮਦਾਸ ਕਉ ਮਿਲੀ ਬਡਾਈ ॥੩॥", Ascii = "soFI isRis† skl qwrx kau Ab gur rwmdws kau imlI bfweI ]3]" },
                new { Unicode = "ਭੰਜਨ ਗੜ੍ਹਣ ਸਮਥੁ ਤਰਣ ਤਾਰਣ ਪ੍ਰਭੁ ਸੋਈ ॥", Ascii = "BMjn gVHx smQu qrx qwrx pRBu soeI ]" },
                new { Unicode = "ਰਾਗੁ ਗਉੜੀ ਥਿਤੰੀ ਕਬੀਰ ਜੀ ਕੰੀ ॥", Ascii = "rwgu gauVI iQqµØI kbIr jI kµØI ]" },
                new { Unicode = "ਆਤਮਾ ਬਾਸੁਦੇਵਸੵਿ ਜੇ ਕੋ ਜਾਣੈ ਭੇਉ ॥", Ascii = "Awqmw bwsudyvis´ jy ko jwxY Byau ]" },
                new { Unicode = "ਅਸਮਾਨ ਮੵਿਾਨੇ ਲਹੰਗ ਦਰੀਆ ਗੁਸਲ ਕਰਦਨ ਬੂਦ ॥", Ascii = "Asmwn im´wny lhMg drIAw gusl krdn bUd ]" },
                new { Unicode = "ਦੁਰਲਭੰ ਏਕ ਭਗਵਾਨ ਨਾਮਹ ਨਾਨਕ ਲਬਧੵਿੰ ਸਾਧਸੰਗਿ ਕ੍ਰਿਪਾ ਪ੍ਰਭੰ ॥੩੫॥", Ascii = "durlBM eyk Bgvwn nwmh nwnk lbiD´M swDsMig ik®pw pRBM ]35]" },
                new { Unicode = "ਜੇਨ ਕਲਾ ਸਸਿ ਸੂਰ ਨਖੵਤ੍ਰ ਜੋਤੵਿੰ ਸਾਸੰ ਸਰੀਰ ਧਾਰਣੰ ॥", Ascii = "jyn klw sis sUr nK´qR joiq´M swsM srIr DwrxM ]" },
                new { Unicode = "ਬਸੵਿੰਤ ਰਿਖਿਅੰ ਤਿਆਗਿ ਮਾਨੰ ॥", Ascii = "bis´Mq iriKAM iqAwig mwnµ ]" },
                new { Unicode = "ਸ਼ ਖ਼ ਗ਼ ਜ਼ ਫ਼ ਲ਼", Ascii = "S ^ Z z & L" }
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.ToAsciiGurmukhi(w.Unicode), w.Ascii));
        }
Ejemplo n.º 2
0
        public void ToHindi()
        {
            var words = new[]
            {
                new { Gurmukhi = "ਖੋਜ", Hindi = "खोज" },
                new { Gurmukhi = "ਹਿਰ", Hindi = "हिर" },
                new { Gurmukhi = "ਮਿਲੵਿੋ", Hindi = "मिल्यिो" },
                new { Gurmukhi = "ਕੁਲ ਜਨ ਮਧੇ ਮਿਲੵਿੋ ਸਾਰਗ ਪਾਨ ਰੇ ॥", Hindi = "कुल जन मधे मिल्यिो सारग पान रे ॥" },
                new { Gurmukhi = "ਤੂ ਪ੍ਰਭ ਦਾਤਾ ਦਾਨਿ ਮਤਿ ਪੂਰਾ ਹਮ ਥਾਰੇ ਭੇਖਾਰੀ ਜੀਉ ॥", Hindi = "तू प्रभ दाता दानि मति पूरा हम थारे भेखारी जीउ ॥" },
                new { Gurmukhi = "ਸੋ ਬ੍ਰਹਮੁ ਅਜੋਨੀ ਹੈ ਭੀ ਹੋਨੀ ਘਟ ਭੀਤਰਿ ਦੇਖੁ ਮੁਰਾਰੀ ਜੀਉ ॥੨॥", Hindi = "सो ब्रहमु अजोनी है भी होनी घट भीतरि देखु मुरारी जीउ ॥२॥" },
                new { Gurmukhi = "ਜ਼ਨੇ ਪੇਚ ਦਸਤਾਰ ਰਾ ਤਾਬਦਾਦ ॥", Hindi = "ज़ने पेच दसतार रा ताबदाद ॥" },
                new { Gurmukhi = "ਸਉਡਿਸਇਸ ਇਸ ਇਸਣੀ ਆਦਿ ਬਖਾਨਿ ਕੈ ॥", Hindi = "सउडिसइस इस इसणी आदि बखानि कै ॥" },
                new { Gurmukhi = "ਅਜ਼ੋ ਗਸ਼ਤਾ ਹਰ ਜ਼ੱਰਰਾ ਖ਼ੁਰਸ਼ੈਦ ਤਾਬ ॥੯੬॥", Hindi = "अज़ो गशता हर ज़ररा क़ुरशैद ताब ॥९६॥" },
                new { Gurmukhi = "ਹਮਾ ਸਾਇਲਿ ਲੁਤਫ਼ਿ ਹਕ ਪਰਵਰਸ਼ ॥", Hindi = "हमा साइलि लुतफ़ि हक परवरश ॥" },
                new { Gurmukhi = "ਸੁ ਬੈਠਿ ਇਕੰਤ੍ਰ ॥੫੭੮॥", Hindi = "सु बैठि इकंत्र ॥५७८॥" },
                new { Gurmukhi = "ਇਤਿ ਸ੍ਰੀ ਬਚਿਤ੍ਰ ਨਾਟਕੇ ਮਨੁ ਰਾਜਾ ਕੋ ਰਾਜ ਸਮਾਪਤੰ ॥੧॥੫॥", Hindi = "इति स्री बचित्र नाटके मनु राजा को राज समापतं ॥१॥५॥" },
                new { Gurmukhi = "ਢਾਕਨਹਾਰੇ ਪ੍ਰਭੂ ਹਮਾਰੇ ਜੀਅ ਪ੍ਰਾਨ ਸੁਖਦਾਤੇ ॥", Hindi = "ढाकनहारे प्रभू हमारे जीअ प्रान सुखदाते ॥" },
                new { Gurmukhi = "ਮੰਤ੍ਰੁ", Hindi = "मंत्रु" },
                new { Gurmukhi = "ਤਿਸੁ ਵਿਣੁ ਸਭੁ ਅਪਵਿਤ੍ਰੁ ਹੈ ਜੇਤਾ ਪੈਨਣੁ ਖਾਣੁ ॥", Hindi = "तिसु विणु सभु अपवित्रु है जेता पैनणु खाणु ॥" },
                new { Gurmukhi = "ਸੋਢੀ ਸ੍ਰਿਸ੍ਟਿ ਸਕਲ ਤਾਰਣ ਕਉ ਅਬ ਗੁਰ ਰਾਮਦਾਸ ਕਉ ਮਿਲੀ ਬਡਾਈ ॥੩॥", Hindi = "सोढी स्रिस्टि सकल तारण कउ अब गुर रामदास कउ मिली बडाई ॥३॥" },
                new { Gurmukhi = "ਭੰਜਨ ਗੜ੍ਹਣ ਸਮਥੁ ਤਰਣ ਤਾਰਣ ਪ੍ਰਭੁ ਸੋਈ ॥", Hindi = "भंजन गढ़ण समथु तरण तारण प्रभु सोई ॥" },
                new { Gurmukhi = "ਰਾਗੁ ਗਉੜੀ ਥਿਤੰੀ ਕਬੀਰ ਜੀ ਕੰੀ ॥", Hindi = "रागु गउड़ी थितीं कबीर जी कीं ॥" },
                new { Gurmukhi = "ਹੁਕਮੈ ਅੰਦਰਿ. ਸਭੁ ਕੋ; ਬਾਹਰਿ ਹੁਕਮ. ਨ ਕੋਇ ॥", Hindi = "हुकमै अंदरि. सभु को; बाहरि हुकम. न कोइ ॥" },
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.ToHindi(w.Gurmukhi), w.Hindi));
        }
Ejemplo n.º 3
0
        public void ToUnicodeGurmukhi()
        {
            var words = new[]
            {
                new { Ascii = "Koj", Unicode = "ਖੋਜ" },
                new { Ascii = "ihr", Unicode = "ਹਿਰ" },
                new { Ascii = "imil´o", Unicode = "ਮਿਲੵਿੋ" },
                new { Ascii = "iBÎo", Unicode = "ਭ੍ਯਿੋ" },
                new { Ascii = "kul jn mDy imil´o swrg pwn ry ]", Unicode = "ਕੁਲ ਜਨ ਮਧੇ ਮਿਲੵਿੋ ਸਾਰਗ ਪਾਨ ਰੇ ॥" },
                new { Ascii = "qU pRB dwqw dwin miq pUrw hm Qwry ByKwrI jIau ]", Unicode = "ਤੂ ਪ੍ਰਭ ਦਾਤਾ ਦਾਨਿ ਮਤਿ ਪੂਰਾ ਹਮ ਥਾਰੇ ਭੇਖਾਰੀ ਜੀਉ ॥" },
                new { Ascii = "so bRhmu AjonI hY BI honI Gt BIqir dyKu murwrI jIau ]2]", Unicode = "ਸੋ ਬ੍ਰਹਮੁ ਅਜੋਨੀ ਹੈ ਭੀ ਹੋਨੀ ਘਟ ਭੀਤਰਿ ਦੇਖੁ ਮੁਰਾਰੀ ਜੀਉ ॥੨॥" },
                new { Ascii = "zny pyc dsqwr rw qwbdwd ]", Unicode = "ਜ਼ਨੇ ਪੇਚ ਦਸਤਾਰ ਰਾ ਤਾਬਦਾਦ ॥" },
                new { Ascii = "sauifsies ies iesxI Awid bKwin kY ]", Unicode = "ਸਉਡਿਸਇਸ ਇਸ ਇਸਣੀ ਆਦਿ ਬਖਾਨਿ ਕੈ ॥" },
                new { Ascii = "Azo gSqw hr z`rrw ^urSYd qwb ]96]", Unicode = "ਅਜ਼ੋ ਗਸ਼ਤਾ ਹਰ ਜ਼ੱਰਰਾ ਖ਼ੁਰਸ਼ੈਦ ਤਾਬ ॥੯੬॥" },
                new { Ascii = "hmw swieil luqi& hk prvrS ]", Unicode = "ਹਮਾ ਸਾਇਲਿ ਲੁਤਫ਼ਿ ਹਕ ਪਰਵਰਸ਼ ॥" },
                new { Ascii = "su bYiT iekMqR ]578]", Unicode = "ਸੁ ਬੈਠਿ ਇਕੰਤ੍ਰ ॥੫੭੮॥" },
                new { Ascii = "ieiq sRI bicqR nwtky mnu rwjw ko rwj smwpqM ]1]5]", Unicode = "ਇਤਿ ਸ੍ਰੀ ਬਚਿਤ੍ਰ ਨਾਟਕੇ ਮਨੁ ਰਾਜਾ ਕੋ ਰਾਜ ਸਮਾਪਤੰ ॥੧॥੫॥" },
                new { Ascii = "Fwknhwry pRBU hmwry jIA pRwn suKdwqy ]", Unicode = "ਢਾਕਨਹਾਰੇ ਪ੍ਰਭੂ ਹਮਾਰੇ ਜੀਅ ਪ੍ਰਾਨ ਸੁਖਦਾਤੇ ॥" },
                new { Ascii = "BuiKAw.", Unicode = "ਭੁਖਿਆ." },
                new { Ascii = "<> siq nwmu krqw purKu inrBau inrvYru; Akwl mUriq AjUnI sYBM gurpRswid ]", Unicode = "ੴ ਸਤਿ ਨਾਮੁ ਕਰਤਾ ਪੁਰਖੁ ਨਿਰਭਉ ਨਿਰਵੈਰੁ; ਅਕਾਲ ਮੂਰਤਿ ਅਜੂਨੀ ਸੈਭੰ ਗੁਰਪ੍ਰਸਾਦਿ ॥" },
                new { Ascii = "rwgu gauVI iQqMØI kbIr jI kMØI ]", Unicode = "ਰਾਗੁ ਗਉੜੀ ਥਿਤੰੀ ਕਬੀਰ ਜੀ ਕੰੀ ॥" },
                new { Ascii = "Awqmw bwsudyvis´ jy ko jwxY Byau ]", Unicode = "ਆਤਮਾ ਬਾਸੁਦੇਵਸੵਿ ਜੇ ਕੋ ਜਾਣੈ ਭੇਉ ॥" },
                new { Ascii = "Asmwn im´wny lhMg drIAw gusl krdn bUd ]", Unicode = "ਅਸਮਾਨ ਮੵਿਾਨੇ ਲਹੰਗ ਦਰੀਆ ਗੁਸਲ ਕਰਦਨ ਬੂਦ ॥" },
                new { Ascii = "durlBM eyk Bgvwn nwmh nwnk lbiD´M swDsMig ik®pw pRBM ]35]", Unicode = "ਦੁਰਲਭੰ ਏਕ ਭਗਵਾਨ ਨਾਮਹ ਨਾਨਕ ਲਬਧੵਿੰ ਸਾਧਸੰਗਿ ਕ੍ਰਿਪਾ ਪ੍ਰਭੰ ॥੩੫॥" },
                new { Ascii = "jyn klw sis sUr nK´qR joiq´M swsM srIr DwrxM ]", Unicode = "ਜੇਨ ਕਲਾ ਸਸਿ ਸੂਰ ਨਖੵਤ੍ਰ ਜੋਤੵਿੰ ਸਾਸੰ ਸਰੀਰ ਧਾਰਣੰ ॥" },
                new { Ascii = "bis´Mq iriKAM iqAwig mwnµ ]", Unicode = "ਬਸੵਿੰਤ ਰਿਖਿਅੰ ਤਿਆਗਿ ਮਾਨੰ ॥" },
                new { Ascii = "pRwq Bey inRp bIc sBw, kib sïwm khY ieh BWiq aucwrîo ]", Unicode = "ਪ੍ਰਾਤ ਭਏ ਨ੍ਰਿਪ ਬੀਚ ਸਭਾ, ਕਬਿ ਸਯਾਮ ਕਹੈ ਇਹ ਭਾਂਤਿ ਉਚਾਰ੍ਯੋ ॥" }
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.ToUnicodeGurmukhi(w.Ascii), w.Unicode));
        }
Ejemplo n.º 4
0
        public void StripAccentsTest()
        {
            var words = new[]
            {
                new { Input = "ਜ਼ਫ਼ੈਸ਼ਸਓ", Output = "ਜਫੈਸਸੳ" },
                new { Input = "Z^Svb", Output = "gKsvb" }
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.StripAccents(w.Input), w.Output));
        }
Ejemplo n.º 5
0
        public void CountSyllables()
        {
            var tests = new[]
            {
                new { Gurmukhi = "ਅੰਮ੍ਰਿਤਸਰ", SyllableCount = 6 },
                new { Gurmukhi = "ਸਾਰਾ ਸਾਰੇ", SyllableCount = 8 },
                new { Gurmukhi = "ਪ੍ਰਭੂ ਪ੍ਰੇਮੀ ਪੜ੍ਹ ਚੜ੍ਹ ਦ੍ਵੈਤ", SyllableCount = 14 }
            };

            Assert.All(tests, t => Assert.Equal(GurmukhiUtils.CountSyllables(t.Gurmukhi), t.SyllableCount));
        }
Ejemplo n.º 6
0
        public void FirstLettersEnglish()
        {
            var words = new[]
            {
                new { Gurmukhi = "ਗੁਰਮੁਖਿ ਲਾਧਾ ਮਨਮੁਖਿ ਗਵਾਇਆ ॥", FirstLetters = "glmg|" },
                new { Gurmukhi = "ਜਿਨਿ ਹਰਿ ਸੇਵਿਆ ਤਿਨਿ ਸੁਖੁ ਪਾਇਆ ॥", FirstLetters = "jhstsp|" },
                new { Gurmukhi = "ਗ਼ੈਰਿ ਹਮਦਿ ਹੱਕ ਨਿਆਇਦ ਬਰ ਜ਼ਬਾਨਮ ਹੀਚ ਗਾਹ", FirstLetters = "ghhnbzhg" },
                new { Gurmukhi = "ਸਬਦਿ ਮਰੈ. ਸੋ ਮਰਿ ਰਹੈ; ਫਿਰਿ. ਮਰੈ ਨ, ਦੂਜੀ ਵਾਰ ॥", FirstLetters = "sm.smr;f.mn,dv|" }
            }.Select(o => new { English = GurmukhiUtils.ToEnglish(o.Gurmukhi), o.FirstLetters });

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.FirstLetters(w.English), w.FirstLetters));
        }
Ejemplo n.º 7
0
        public void FirstLettersHindi()
        {
            var words = new[]
            {
                new { Gurmukhi = "ਗੁਰਮੁਖਿ ਲਾਧਾ ਮਨਮੁਖਿ ਗਵਾਇਆ ॥", FirstLetters = "गलमग॥" },
                new { Gurmukhi = "ਜਿਨਿ ਹਰਿ ਸੇਵਿਆ ਤਿਨਿ ਸੁਖੁ ਪਾਇਆ ॥", FirstLetters = "जहसतसप॥" },
                new { Gurmukhi = "ਗ਼ੈਰਿ ਹਮਦਿ ਹੱਕ ਨਿਆਇਦ ਬਰ ਜ਼ਬਾਨਮ ਹੀਚ ਗਾਹ", FirstLetters = "ग़हहनबज़हग" },
                new { Gurmukhi = "ਸਬਦਿ ਮਰੈ. ਸੋ ਮਰਿ ਰਹੈ; ਫਿਰਿ. ਮਰੈ ਨ, ਦੂਜੀ ਵਾਰ ॥", FirstLetters = "सम.समर;फ.मन,दव॥" }
            }.Select(o => new { Hindi = GurmukhiUtils.ToHindi(o.Gurmukhi), o.FirstLetters });

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.FirstLetters(w.Hindi), w.FirstLetters));
        }
Ejemplo n.º 8
0
        public void ToSyllabicSymbols()
        {
            var words = new[]
            {
                new { Gurmukhi = "ਕਸਰਤ", Syllabic = "1111" },
                new { Gurmukhi = "ਬਰਕਤ", Syllabic = "1111" },
                new { Gurmukhi = "ਮਿਹਨਤ", Syllabic = "1111" },
                new { Gurmukhi = "ਮੁਜਰਮ", Syllabic = "1111" },
                new { Gurmukhi = "ਗੁਰਮੁਖ", Syllabic = "1111" },
                new { Gurmukhi = "ਕਾਕੀਏ", Syllabic = "222" },
                new { Gurmukhi = "ਕਾਕੀ\u0A0F", Syllabic = "222" },
                new { Gurmukhi = "ਕਾਕੀ\u0A72\u0A47", Syllabic = "222" },
                new { Gurmukhi = "ਤੌਲੀਆ", Syllabic = "222" },
                new { Gurmukhi = "ਤੋਰੀਆ", Syllabic = "222" },
                new { Gurmukhi = "ਚੀਰੀਏ", Syllabic = "222" },
                new { Gurmukhi = "ਤੰਬੂਰਾ", Syllabic = "222" },
                new { Gurmukhi = "ਲੰਮਾਈ", Syllabic = "222" },
                new { Gurmukhi = "ਬੱਚੀਏ", Syllabic = "222" },
                new { Gurmukhi = "ਸਾਗ", Syllabic = "21" },
                new { Gurmukhi = "ਦੌੜ", Syllabic = "21" },
                new { Gurmukhi = "ਪੀੜ", Syllabic = "21" },
                new { Gurmukhi = "ਹਿੱਲ", Syllabic = "21" },
                new { Gurmukhi = "ਵਿਚੋਂ", Syllabic = "12" },
                new { Gurmukhi = "ਤਲਾ", Syllabic = "12" },
                new { Gurmukhi = "ਸਿਰੀ", Syllabic = "12" },
                new { Gurmukhi = "ਗੁਆ", Syllabic = "12" },
                new { Gurmukhi = "ਸਰਲ", Syllabic = "111" },
                new { Gurmukhi = "ਹਿਕਮਤ", Syllabic = "1111" },
                new { Gurmukhi = "ਉਜਰਤ", Syllabic = "1111" },
                new { Gurmukhi = "ਸਾਰ", Syllabic = "21" },
                new { Gurmukhi = "ਸਾਰਾ ਸਾਰੇ", Syllabic = "22 22" },
                new { Gurmukhi = "ਕੂਲਾ ਕੂਲੀ", Syllabic = "22 22" },
                new { Gurmukhi = "ਗੁਲਾਈ", Syllabic = "122" },
                new { Gurmukhi = "ਚੁੜਾਈ", Syllabic = "122" },
                new { Gurmukhi = "ਜੋੜੀਆਂ", Syllabic = "222" },
                new { Gurmukhi = "ਵੱਟਿਆਂ", Syllabic = "212" },
                new { Gurmukhi = "v`itAW", Syllabic = "212" },
                new { Gurmukhi = "v~itAW", Syllabic = "212" },
                new { Gurmukhi = "ਵੱਟੀਆਂ", Syllabic = "222" },
                new { Gurmukhi = "ਅੰਮ੍ਰਿਤ", Syllabic = "211" },
                new { Gurmukhi = "ਅੰਮ੍ਰਿਤਸਰ", Syllabic = "21111" },
                new { Gurmukhi = "ਦੇਵਿੰਦਰ", Syllabic = "2211" },
                new { Gurmukhi = "ਕਿਰਪਾਲਤਾ", Syllabic = "11212" },
                new { Gurmukhi = "ਪ੍ਰਭੂ ਪ੍ਰੇਮੀ ਪੜ੍ਹ ਚੜ੍ਹ ਦ੍ਵੈਤ", Syllabic = "12 22 11 11 21" },
                new { Gurmukhi = "pRBU pRymI pVH cVH dÍYq", Syllabic = "12 22 11 11 21" },
                new { Gurmukhi = "AYsw", Syllabic = "22" },
                new { Gurmukhi = "ਹਫ਼ਤੇ ਵਿਚ 7 ਦਿਨ", Syllabic = "112 11 11" },
                new { Gurmukhi = "ieMdR ieMdRwx", Syllabic = "21 221" }
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.ToSyllabicSymbols(w.Gurmukhi), w.Syllabic));
        }
Ejemplo n.º 9
0
        public void StripMediumVishraamsTest()
        {
            var lines = new[]
            {
                new
                {
                    Input  = "Anhd sbd vjwey, hir jIau Gir Awey; hir gux gwvhu nwrI ]",
                    Output = "Anhd sbd vjwey hir jIau Gir Awey; hir gux gwvhu nwrI ]"
                },
            };

            Assert.All(lines, w => Assert.Equal(GurmukhiUtils.StripVishraams(w.Input, Vishraam.Medium), w.Output));
        }
Ejemplo n.º 10
0
        public void StripLightVishraamsTest()
        {
            var lines = new[]
            {
                new
                {
                    Input  = "Anhd sbd vjwey, hir jIau Gir Awey; hir gux gwvhu nwrI ]",
                    Output = "Anhd sbd vjwey, hir jIau Gir Awey; hir gux gwvhu nwrI ]"
                },
                new { Input = "ਸਬਦਿ ਮਰੈ. ਸੋ ਮਰਿ ਰਹੈ; ]", Output = "ਸਬਦਿ ਮਰੈ ਸੋ ਮਰਿ ਰਹੈ; ]" },
            };

            Assert.All(lines, w => Assert.Equal(GurmukhiUtils.StripVishraams(w.Input, Vishraam.Light), w.Output));
        }
Ejemplo n.º 11
0
        public void IsGurmukhi()
        {
            var words = new[]
            {
                new { Gurmukhi = "ਗੁਰਮੁਖੀ", IsGurmukhi = true },
                new { Gurmukhi = "ਮੈਂ ਗੁਰਮੁਖੀ ਵਿਚ ਲਿਖ ਰਿਹਾ ਹਾਂ।", IsGurmukhi = true },
                new { Gurmukhi = "ਲੜੀਵਾਰ​ਗੁਰਬਾਣੀ", IsGurmukhi = true },  // Has U+200B, Zero Width Space
                new { Gurmukhi = "मैं हिंदी में लिख रहा हूँ।", IsGurmukhi = false },
                new { Gurmukhi = "میں شاہ رخ میں لکھ رہا ہوں۔", IsGurmukhi = false },
                new { Gurmukhi = "ਗੁਰਮੁਖੀ & English", IsGurmukhi = true },
                new { Gurmukhi = "English & ਗੁਰਮੁਖੀ", IsGurmukhi = false }
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.IsGurmukhi(w.Gurmukhi), w.IsGurmukhi));
        }
Ejemplo n.º 12
0
        public void FirstLettersGurmukhi()
        {
            var words = new[]
            {
                new { Gurmukhi = "ਗੁਰਮੁਖਿ  ਲਾਧਾ ਮਨਮੁਖਿ   ਗਵਾਇਆ ॥", FirstLetters = "ਗਲਮਗ॥" },
                new { Gurmukhi = "ਗੁਰਮੁਖਿ ਲਾਧਾ ਮਨਮੁਖਿ ਗਵਾਇਆ ॥", FirstLetters = "ਗਲਮਗ॥" },
                new { Gurmukhi = "ਜਿਨਿ ਹਰਿ ਸੇਵਿਆ ਤਿਨਿ ਸੁਖੁ ਪਾਇਆ ॥", FirstLetters = "ਜਹਸਤਸਪ॥" },
                new { Gurmukhi = "ਗ਼ੈਰਿ ਹਮਦਿ ਹੱਕ ਨਿਆਇਦ ਬਰ ਜ਼ਬਾਨਮ ਹੀਚ ਗਾਹ", FirstLetters = "ਗ਼ਹਹਨਬਜ਼ਹਗ" },
                new { Gurmukhi = "ਸਬਦਿ ਮਰੈ. ਸੋ ਮਰਿ ਰਹੈ; ਫਿਰਿ. ਮਰੈ ਨ, ਦੂਜੀ ਵਾਰ ॥", FirstLetters = "ਸਮ.ਸਮਰ;ਫ.ਮਨ,ਦਵ॥" },
                new { Gurmukhi = "ਇਕਨਾ. ਹੁਕਮੀ ਬਖਸੀਸ; ਇਕਿ, ਹੁਕਮੀ ਸਦਾ ਭਵਾਈਅਹਿ ॥", FirstLetters = "ੲ.ਹਬ;ੲ,ਹਸਭ॥" },
                new
                {
                    Gurmukhi     = GurmukhiUtils.ToUnicodeGurmukhi("ik hr hSqo Ssq Awmdw cwkrS [148["),
                    FirstLetters = "ਕਹਹਸ਼ਅਚ।"
                }
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.FirstLetters(w.Gurmukhi), w.FirstLetters));
        }
Ejemplo n.º 13
0
        public void ToShahmukhi()
        {
            var words = new[]
            {
                new { Gurmukhi = "ਖੋਜ", Shahmukhi = "کھوج" },
                new { Gurmukhi = "ਤੂ ਪ੍ਰਭ ਦਾਤਾ ਦਾਨਿ ਮਤਿ ਪੂਰਾ ਹਮ ਥਾਰੇ ਭੇਖਾਰੀ ਜੀਉ ॥", Shahmukhi = "تُو پربھ داتا دان مت پُورا هم تھارے بھےکھاری جیاُ ۔۔" },
                new { Gurmukhi = "ਸੋ ਬ੍ਰਹਮੁ ਅਜੋਨੀ ਹੈ ਭੀ ਹੋਨੀ ਘਟ ਭੀਤਰਿ ਦੇਖੁ ਮੁਰਾਰੀ ਜੀਉ ॥੨॥", Shahmukhi = "سو برهم اجونی هَے بھی هونی گھٹ بھیتر دےکھ مُراری جیاُ ۔۔۲۔۔" },
                new { Gurmukhi = "ਜ਼ਨੇ ਪੇਚ ਦਸਤਾਰ ਰਾ ਤਾਬਦਾਦ ॥", Shahmukhi = "زنے پےچ دستار را تابداد ۔۔" },
                new { Gurmukhi = "ਸਉਡਿਸਇਸ ਇਸ ਇਸਣੀ ਆਦਿ ਬਖਾਨਿ ਕੈ ॥", Shahmukhi = "ساُڈِسِاس ِاس ِاسنی آد بکھان کَے ۔۔" },
                new { Gurmukhi = "ਅਜ਼ੋ ਗਸ਼ਤਾ ਹਰ ਜ਼ੱਰਰਾ ਖ਼ੁਰਸ਼ੈਦ ਤਾਬ ॥੯੬॥", Shahmukhi = "ازو گشتا هر زّررا خُرشَےد تاب ۔۔۹۶۔۔" },
                new { Gurmukhi = "ਹਮਾ ਸਾਇਲਿ ਲੁਤਫ਼ਿ ਹਕ ਪਰਵਰਸ਼ ॥", Shahmukhi = "هما ساِال لُتف هک پرورش ۔۔" },
                new { Gurmukhi = "ਸੁ ਬੈਠਿ ਇਕੰਤ੍ਰ ॥੫੭੮॥", Shahmukhi = "سُ بَےٹھ ِاکںتر ۔۔۵۷۸۔۔" },
                new { Gurmukhi = "ਇਤਿ ਸ੍ਰੀ ਬਚਿਤ੍ਰ ਨਾਟਕੇ ਮਨੁ ਰਾਜਾ ਕੋ ਰਾਜ ਸਮਾਪਤੰ ॥੧॥੫॥", Shahmukhi = "ِات سری بچِتر ناٹکے من راجا کو راج سماپتں ۔۔۱۔۔۵۔۔" },
                new { Gurmukhi = "ਤਿਸੁ ਵਿਣੁ ਸਭੁ ਅਪਵਿਤ੍ਰੁ ਹੈ ਜੇਤਾ ਪੈਨਣੁ ਖਾਣੁ ॥", Shahmukhi = "تِس وِن سبھ اپوِتر هَے جےتا پَےنن کھان ۔۔" },
                new { Gurmukhi = "ਸੋਢੀ ਸ੍ਰਿਸ੍ਟਿ ਸਕਲ ਤਾਰਣ ਕਉ ਅਬ ਗੁਰ ਰਾਮਦਾਸ ਕਉ ਮਿਲੀ ਬਡਾਈ ॥੩॥", Shahmukhi = "سوڈھی سرِسٹ سکل تارن کاُ اب گُر رامداس کاُ مِلی بڈاای ۔۔۳۔۔" },
                new { Gurmukhi = "ਰਾਗੁ ਗਉੜੀ ਥਿਤੰੀ ਕਬੀਰ ਜੀ ਕੰੀ ॥", Shahmukhi = "راگ گاُڑی تھِتںی کبیر جی کںی ۔۔" },
                new { Gurmukhi = "ਸੁ ਸਿਰਿ ਹਰਿ ਹਿਰ ਕਰਹਿ ਹਿਰੁ ਰਹੁ ਸੁਹੰਗ ਕੂਕਰੁ ਸਰਸੁ ਜੁ ਜੁਜੁ ਏਹਿ ਭਿ ਦਾਤਿ ॥", Shahmukhi = "سُ سِر هر هِر کرهِ هِر رهُ سُهںگ کُوکر سرس جُ جُج اےهِ بھِ دات ۔۔" },
                new { Gurmukhi = "ਹੁਕਮੈ ਅੰਦਰਿ. ਸਭੁ ਕੋ; ਬਾਹਰਿ ਹੁਕਮ. ਨ ਕੋਇ ॥", Shahmukhi = "هُکمَے اںدر. سبھ کو; باهر هُکم. ن کوِا ۔۔" },
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.ToShahmukhi(w.Gurmukhi), w.Shahmukhi));
        }
Ejemplo n.º 14
0
        public void ToEnglish()
        {
            var words = new[]
            {
                new { Gurmukhi = "ਕਿਵ ਸਚਿਆਰਾ ਹੋਈਐ ਕਿਵ ਕੂੜੈ ਤੁਟੈ ਪਾਲਿ ॥", English = "kiv sachiaaraa hoeeai kiv koorrai tuttai paal |" },
                new { Gurmukhi = "ਕਨਕੰ ਦੁਤਿ ਉਜਲ ਅੰਗ ਸਨੇ ॥", English = "kanakan dut ujal ang sane |" },
                new { Gurmukhi = "ਗੁਨ ਮ੍ਰਿਗਹਾ ਕੋ ਚਿਤ ਬੀਚ ਲੀਆ ॥੩੮੫॥", English = "gun mrigahaa ko chit beech leea |385|" },
                new { Gurmukhi = "ਗਣ ਗੰਧ੍ਰਬ ਭੂਤ ਪਿਸਾਚ ਤਬੈ ॥੩੮੮॥", English = "gan gandhrab bhoot pisaach tabai |388|" },
                new { Gurmukhi = "ਅਬ੍ਰਯਕਤ ਅੰਗ ॥", English = "abrayakat ang |" },
                new { Gurmukhi = "ਜਗੰਨਾਥ ਜਗਦੀਸੁਰ ਕਰਤੇ ਸਭ ਵਸਗਤਿ ਹੈ ਹਰਿ ਕੇਰੀ ॥", English = "jaganaath jagadeesur karate sabh vasagat hai har keree |" },
                new { Gurmukhi = "ਆਦਿ ਸਚੁ ਜੁਗਾਦਿ ਸਚੁ ॥", English = "aad sach jugaad sach |" },
                new { Gurmukhi = "ਸਹਸ ਸਿਆਣਪਾ ਲਖ ਹੋਹਿ ਤ ਇਕ ਨ ਚਲੈ ਨਾਲਿ ॥", English = "sehas siaanapaa lakh hohi ta ik na chalai naal |" },
                new { Gurmukhi = "ੴ ਸਤਿ ਨਾਮੁ ਕਰਤਾ ਪੁਰਖੁ ਨਿਰਭਉ ਨਿਰਵੈਰੁ ਅਕਾਲ ਮੂਰਤਿ ਅਜੂਨੀ ਸੈਭੰ ਗੁਰ ਪ੍ਰਸਾਦਿ ॥", English = "ik oankaar sat naam karataa purakh nirbhau niravair akaal moorat ajoonee saibhan gur prasaad |" },
                new { Gurmukhi = "ਹੁਕਮੀ ਹੁਕਮੁ ਚਲਾਏ ਰਾਹੁ ॥", English = "hukamee hukam chalaae raahu |" },
                new { Gurmukhi = "ਤਿਨ ਕੇ ਨਾਮ ਅਨੇਕ ਅਨੰਤ ॥", English = "tin ke naam anek anant |" },
                new { Gurmukhi = "ਭਾਂਡਾ ਭਾਉ ਅੰਮ੍ਰਿਤੁ ਤਿਤੁ ਢਾਲਿ ॥", English = "bhaanddaa bhaau amrit tith dtaal |" },
                new { Gurmukhi = "ਕ੍ਰਿਪਾ", English = "kripaa" },
                new { Gurmukhi = "ਮਃ", English = "mahalaa" },
                new { Gurmukhi = "ਜਿਸ ਨੋ ਕ੍ਰਿਪਾ ਕਰਹਿ ਤਿਨਿ ਨਾਮੁ ਰਤਨੁ ਪਾਇਆ ॥", English = "jis no kripaa kareh tin naam ratan paaeaa |" },
                new { Gurmukhi = "ਆਵਣੁ ਵੰਞਣੁ ਡਾਖੜੋ ਛੋਡੀ ਕੰਤਿ ਵਿਸਾਰਿ ॥੪॥", English = "aavan vanyan ddaakharro chhoddee kant visaar |4|" },
                new { Gurmukhi = "ਘੜੀ ਮੂਰਤ ਸਿਮਰਤ ਪਲ ਵੰਞਹਿ ਜੀਵਣੁ ਸਫਲੁ ਤਿਥਾਈ ਜੀਉ ॥੧॥", English = "gharree moorat simarat pal vanyeh jeevan safal tithaaee jeeo |1|" },
                new { Gurmukhi = "ਹਰਿ ਹਰਿ ਹਰਿ ਗੁਨ ਗਾਵਹੁ ॥", English = "har har har gun gaavahu |" },
                new { Gurmukhi = "ਹੁਕਮੈ ਅੰਦਰਿ. ਸਭੁ ਕੋ; ਬਾਹਰਿ ਹੁਕਮ. ਨ ਕੋਇ ॥", English = "hukamai andar. sabh ko; baahar hukam. na koe |" },
                new { Gurmukhi = "ਸਹਜ; ਸਸਹਜ ਅਨਹਦ ਰਹਤ ਕਹਤ ਪਹਰ, ਸਹਸ ਮਹਲ ਟਹਲ ਕਹਨਨ ਕਹਨ", English = "sehaj; sasahaj anahad rehat kehat pehar, sehas mehal ttehal kahanan kehan" },
                new { Gurmukhi = "ਸਭ ਭਇਓ ਪਰਾਇਓ", English = "sabh bheo paraaeo" },
                new { Gurmukhi = "ਆਸਾ ਮਹਲਾ ੫ ਪੰਚਪਦੇ₃ ॥", English = "aasaa mahalaa 5 panchapade₃ |" },
                new { Gurmukhi = "ਹਰਿ", English = "har" },
                new { Gurmukhi = "ਸਚੁ", English = "sach" },
                new { Gurmukhi = "ਰਾਹੁ", English = "raahu" },
                new { Gurmukhi = "ਭਾਉ", English = "bhaau" },
                new { Gurmukhi = "ਸਤਿਗੁਰੁ ਸਤਿਗੁਰੁ ਸਚੁ; ਸਚੁ ਹਰਿ ਹਰਿ ਹਿੰਙੁ", English = "satigur satigur sach; sach har har hing" },
                new { Gurmukhi = "ਸੁ ਉ ਜੁ", English = "su u ju" }
            };

            Assert.All(words, w => Assert.Equal(GurmukhiUtils.ToEnglish(w.Gurmukhi), w.English));
        }
Ejemplo n.º 15
0
        public void StripEndingsTest()
        {
            var gurmukhiPassages = new[]
            {
                new { Input = "ਸੋ ਘਰੁ ਰਾਖੁ; ਵਡਾਈ ਤੋਇ ॥੧॥ ਰਹਾਉ ॥", Output = "ਸੋ ਘਰੁ ਰਾਖੁ; ਵਡਾਈ ਤੋਇ" },
                new
                {
                    Input  = "ਹੁਕਮੁ ਪਛਾਣਿ; ਤਾ ਖਸਮੈ ਮਿਲਣਾ ॥੧॥ ਰਹਾਉ ਦੂਜਾ ॥",
                    Output = "ਹੁਕਮੁ ਪਛਾਣਿ; ਤਾ ਖਸਮੈ ਮਿਲਣਾ"
                },
                new
                {
                    Input  = "ਨਾਮੁ ਅਧਾਰੁ ਦੀਜੈ. ਨਾਨਕ ਕਉ; ਆਨਦ ਸੂਖ ਘਨੇਰੈ ॥੨॥੧੨॥ ਛਕੇ ੨ ॥",
                    Output = "ਨਾਮੁ ਅਧਾਰੁ ਦੀਜੈ. ਨਾਨਕ ਕਉ; ਆਨਦ ਸੂਖ ਘਨੇਰੈ"
                },
                new
                {
                    Input  = "ਜਪਿ ਜਪਿ ਨਾਮੁ ਜੀਵਾ ਤੇਰੀ ਬਾਣੀ; ਨਾਨਕ ਦਾਸ ਬਲਿਹਾਰੇ ॥੨॥੧੮॥ ਛਕੇ ੩ ॥",
                    Output = "ਜਪਿ ਜਪਿ ਨਾਮੁ ਜੀਵਾ ਤੇਰੀ ਬਾਣੀ; ਨਾਨਕ ਦਾਸ ਬਲਿਹਾਰੇ"
                },
                new
                {
                    Input  = "ਸਹਸ ਸਿਆਣਪ ਨਹ ਮਿਲੈ, ਮੇਰੀ ਜਿੰਦੁੜੀਏ; ਜਨ ਨਾਨਕ. ਗੁਰਮੁਖਿ ਜਾਤਾ ਰਾਮ ॥੪॥੬॥ ਛਕਾ ੧ ॥",
                    Output = "ਸਹਸ ਸਿਆਣਪ ਨਹ ਮਿਲੈ, ਮੇਰੀ ਜਿੰਦੁੜੀਏ; ਜਨ ਨਾਨਕ. ਗੁਰਮੁਖਿ ਜਾਤਾ ਰਾਮ"
                },
                new
                {
                    Input  = "ਆਇ ਮਿਲੁ ਗੁਰਸਿਖ. ਆਇ ਮਿਲੁ; ਤੂ ਮੇਰੇ ਗੁਰੂ ਕੇ ਪਿਆਰੇ ॥ ਰਹਾਉ ॥",
                    Output = "ਆਇ ਮਿਲੁ ਗੁਰਸਿਖ. ਆਇ ਮਿਲੁ; ਤੂ ਮੇਰੇ ਗੁਰੂ ਕੇ ਪਿਆਰੇ"
                },
                new
                {
                    Input  = "ਜਹਾ ਤੇ ਉਪਜਿਆ; ਫਿਰਿ ਤਹਾ ਸਮਾਵੈ ।੪੯।੧। ਇਕੁ ।",
                    Output = "ਜਹਾ ਤੇ ਉਪਜਿਆ; ਫਿਰਿ ਤਹਾ ਸਮਾਵੈ"
                },
                new
                {
                    Input  = "ਇਸੁ ਬੰਦੇ ਸਿਰਿ ਜੁਲਮੁ ਹੋਤ ਹੈ; ਜਮੁ. ਨਹੀ ਹਟੈ ਗੁਸਾਈ ॥੪॥੯॥ ਦੁਤੁਕੇ",
                    Output = "ਇਸੁ ਬੰਦੇ ਸਿਰਿ ਜੁਲਮੁ ਹੋਤ ਹੈ; ਜਮੁ. ਨਹੀ ਹਟੈ ਗੁਸਾਈ"
                },
                new
                {
                    Input  = "ਨਾਨਕ. ਮਨਿ ਤਨਿ ਚਾਉ ਏਹੁ; ਨਿਤ ਪ੍ਰਭ ਕਉ ਲੋੜੇ ॥੨੧॥੧॥ ਸੁਧੁ ਕੀਚੇ",
                    Output = "ਨਾਨਕ. ਮਨਿ ਤਨਿ ਚਾਉ ਏਹੁ; ਨਿਤ ਪ੍ਰਭ ਕਉ ਲੋੜੇ"
                },
                new
                {
                    Input =
                        "ਤਿਸੀ ਪ੍ਰਕਾਰ ਹੀ ਗੁਰੂ ਸੇਵਾ ਤਥਾ ਨਾਮ ਵਿਖੇ ਪਿੰਡ ਸਰੀਰ ਦੇ ਪਰਚੇ ਬਿਨਾਂ ਜੋ ਸਿੱਖਾਂ ਦੀ ਭਿਛ੍ਯਾ ਖਾਵੇ ਅਰਥਾਤ ਓਨਾਂ ਦੀ ਕਾਰ ਭੇਟ ਦਾ ਆਯਾ ਪਦਾਰਥ ਖਾਏ ਤਾਂ ਅੰਤ ਕਾਲ ਨੂੰ ਔਕੜ ਹੋਯਾ ਕਰਦੀ ਹੈ, ਤੇ ਜਮ ਲੋਕ ਨਰਕ ਨੂੰ ਜਾਣਾ ਪੈਂਦਾ ਹੈ ॥੫੧੭॥ ਪੜ੍ਹੋ ਵੀਚਾਰ ਕਬਿੱਤ ੫੦੬",
                    Output =
                        "ਤਿਸੀ ਪ੍ਰਕਾਰ ਹੀ ਗੁਰੂ ਸੇਵਾ ਤਥਾ ਨਾਮ ਵਿਖੇ ਪਿੰਡ ਸਰੀਰ ਦੇ ਪਰਚੇ ਬਿਨਾਂ ਜੋ ਸਿੱਖਾਂ ਦੀ ਭਿਛ੍ਯਾ ਖਾਵੇ ਅਰਥਾਤ ਓਨਾਂ ਦੀ ਕਾਰ ਭੇਟ ਦਾ ਆਯਾ ਪਦਾਰਥ ਖਾਏ ਤਾਂ ਅੰਤ ਕਾਲ ਨੂੰ ਔਕੜ ਹੋਯਾ ਕਰਦੀ ਹੈ, ਤੇ ਜਮ ਲੋਕ ਨਰਕ ਨੂੰ ਜਾਣਾ ਪੈਂਦਾ ਹੈ"
                },
                new
                {
                    Input =
                        "ਸ੍ਰੀ ਗੁਰੂ ਜੀ ਕਹਤੇ ਹੈਂ: ਜੋ ਰਾਤ ਦਿਨ ਨਾਮ ਜਪਤੇ ਹੈਂ ਐਸੇ ਗੁਰੋਂ ਕੇ ਮੁਖ ਸੇ ਵਾਹੁ ਵਾਹੁ ਬਾਣੀ ਪ੍ਰਾਪਤ ਹੋਤੀ ਹੈ॥੧॥",
                    Output =
                        "ਸ੍ਰੀ ਗੁਰੂ ਜੀ ਕਹਤੇ ਹੈਂ: ਜੋ ਰਾਤ ਦਿਨ ਨਾਮ ਜਪਤੇ ਹੈਂ ਐਸੇ ਗੁਰੋਂ ਕੇ ਮੁਖ ਸੇ ਵਾਹੁ ਵਾਹੁ ਬਾਣੀ ਪ੍ਰਾਪਤ ਹੋਤੀ ਹੈ"
                },
                new
                {
                    Input =
                        "ਹੇ ਨਾਨਕ! ਜੋ ਮਨੁੱਖ ਗੁਰੂ ਦੇ ਹੁਕਮ ਵਿਚ ਤੁਰਦਾ ਹੈ ਉਸ ਨੂੰ ਸਿਫ਼ਤ-ਸਾਲਾਹ ਦੀ ਦਾਤ ਮਿਲਦੀ ਹੈ, ਉਹ ਹਰ ਵੇਲੇ ਪ੍ਰਭੂ ਦਾ ਨਾਮ ਜਪਦਾ ਹੈ ॥੧॥",
                    Output =
                        "ਹੇ ਨਾਨਕ! ਜੋ ਮਨੁੱਖ ਗੁਰੂ ਦੇ ਹੁਕਮ ਵਿਚ ਤੁਰਦਾ ਹੈ ਉਸ ਨੂੰ ਸਿਫ਼ਤ-ਸਾਲਾਹ ਦੀ ਦਾਤ ਮਿਲਦੀ ਹੈ, ਉਹ ਹਰ ਵੇਲੇ ਪ੍ਰਭੂ ਦਾ ਨਾਮ ਜਪਦਾ ਹੈ"
                },
                new
                {
                    Input =
                        "ਸ੍ਰੀ ਗੁਰੂ ਜੀ ਕਹਤੇ ਹੈਂ: ਸੋ ਹਰਿ ਨਾਮ ਕਾ ਜੋ ਰਾਤ ਦਿਨ ਭਜਨ ਕਰਤਾ ਹੈ ਤਿਸ ਕੇ ਸਭ ਕਾਮ ਸਫਲ ਹੋਤੇ ਹੈਂ ਅਰਥਾਤ ਪੂਰਨ ਕਾਮ ਹੋਤਾ ਹੈ॥੨੦",
                    Output =
                        "ਸ੍ਰੀ ਗੁਰੂ ਜੀ ਕਹਤੇ ਹੈਂ: ਸੋ ਹਰਿ ਨਾਮ ਕਾ ਜੋ ਰਾਤ ਦਿਨ ਭਜਨ ਕਰਤਾ ਹੈ ਤਿਸ ਕੇ ਸਭ ਕਾਮ ਸਫਲ ਹੋਤੇ ਹੈਂ ਅਰਥਾਤ ਪੂਰਨ ਕਾਮ ਹੋਤਾ ਹੈ"
                },
                new { Input = "॥ ਜਪੁ ॥", Output = "ਜਪੁ" },
                new { Input = "ਸੋ ਦਰੁ ਰਾਗੁ ਆਸਾ ਮਹਲਾ ੧", Output = "ਸੋ ਦਰੁ ਰਾਗੁ ਆਸਾ ਮਹਲਾ" },
                new
                {
                    Input  = "ਸੂਰਜੁ; ਏਕੋ ਰੁਤਿ ਅਨੇਕ ॥ ਨਾਨਕ ਕਰਤੇ ਕੇ ਕੇਤੇ ਵੇਸ ॥੨॥੨॥",
                    Output = "ਸੂਰਜੁ; ਏਕੋ ਰੁਤਿ ਅਨੇਕ ਨਾਨਕ ਕਰਤੇ ਕੇ ਕੇਤੇ ਵੇਸ"
                },
                new
                {
                    Input  = "ਭਇਓ ਕ੍ਰਿਪਾਲੁ. ਦੀਨ ਦੁਖ ਭੰਜਨੁ; ਹਰਿ ਹਰਿ ਕੀਰਤਨਿ ਇਹੁ ਮਨੁ ਰਾਤਾ ॥ ਰਹਾਉ ਦੂਜਾ ॥੧॥੩॥",
                    Output = "ਭਇਓ ਕ੍ਰਿਪਾਲੁ. ਦੀਨ ਦੁਖ ਭੰਜਨੁ; ਹਰਿ ਹਰਿ ਕੀਰਤਨਿ ਇਹੁ ਮਨੁ ਰਾਤਾ"
                },
                new { Input = "ਕਿ ਹਰ ਹਸ਼ਤੋ ਸ਼ਸਤ ਆਮਦਾ ਚਾਕਰਸ਼ ।੧੪੮।", Output = "ਕਿ ਹਰ ਹਸ਼ਤੋ ਸ਼ਸਤ ਆਮਦਾ ਚਾਕਰਸ਼" }
            };

            var asciiPassages = gurmukhiPassages.Select(p =>
                                                        new
            {
                Input  = GurmukhiUtils.ToAsciiGurmukhi(p.Input),
                Output = GurmukhiUtils.ToAsciiGurmukhi(p.Output)
            });

            var translationPassages = new[]
            {
                new
                {
                    Input  = "True Here And Now. O Nanak, Forever And Ever True. ||1||",
                    Output = "True Here And Now. O Nanak, Forever And Ever True."
                },
                new
                {
                    Input =
                        "By Guru's Grace, the supreme status is obtained, and the dry wood blossoms forth again in lush greenery. ||1||Pause||",
                    Output =
                        "By Guru's Grace, the supreme status is obtained, and the dry wood blossoms forth again in lush greenery.",
                },
                new
                {
                    Input =
                        "He puts on various ornaments and many decorations, but it is like dressing a corpse. ||Pause||",
                    Output = "He puts on various ornaments and many decorations, but it is like dressing a corpse."
                },
                new
                {
                    Input =
                        "Servant Nanak is devoted, dedicated, forever a sacrifice to You, Lord. Your Expanse has no limit, no boundary. ||4||5||",
                    Output =
                        "Servant Nanak is devoted, dedicated, forever a sacrifice to You, Lord. Your Expanse has no limit, no boundary."
                },
                new
                {
                    Input  = "lifts him to the divine level of supreme consciousness. (103",
                    Output = "lifts him to the divine level of supreme consciousness."
                },
                new
                {
                    Input  = "What is the purpose of my life (it became worthless) without your reminiscence.(1) (3)",
                    Output = "What is the purpose of my life (it became worthless) without your reminiscence."
                },
                new
                {
                    Input =
                        "Just one of his (blessed) looks, that prolongs life instantly, is enough for me.\" (2) (2)\nSometimes, he acts like a mystic, sometimes like a meditator, and other times like a carefree recluse;\nHe is our pilot steering our way; he operates in numerous different postures. (2) (3)",
                    Output =
                        "Just one of his (blessed) looks, that prolongs life instantly, is enough for me.\"\nSometimes, he acts like a mystic, sometimes like a meditator, and other times like a carefree recluse;\nHe is our pilot steering our way; he operates in numerous different postures."
                },
                new { Input = "always I live within the Khalsa. 519", Output = "always I live within the Khalsa." },
                new { Input = "Salutation to Thee O Abodeless Lord! 5", Output = "Salutation to Thee O Abodeless Lord!" },
                new
                {
                    Input  = "Thy Virtues like Generosity are countless.91",
                    Output = "Thy Virtues like Generosity are countless."
                },
                new { Input = "It was Bikrami Samvat 1753", Output = "It was Bikrami Samvat" },
                new
                {
                    Input  = "He also forgot the unmanifested Brahmin and said this583",
                    Output = "He also forgot the unmanifested Brahmin and said this"
                },
                new
                {
                    Input  = "Somewhere Thou art manifesting the mode of Tamas in a kingly mood!  16. 106",
                    Output = "Somewhere Thou art manifesting the mode of Tamas in a kingly mood!"
                },
                new
                {
                    Input =
                        "He is Without blemish and stain and be visualised as consisting of Indestructible Glory .16.176",
                    Output = "He is Without blemish and stain and be visualised as consisting of Indestructible Glory ."
                },
                new
                {
                    Input  = "He is the Sustainer of all the beings and creatures!9. 239",
                    Output = "He is the Sustainer of all the beings and creatures!"
                },
                new { Input = "Thee as the Abode of Dharma.2.254", Output = "Thee as the Abode of Dharma." },
                new
                {
                    Input  = "He said to the warriors fighting near him,1069",
                    Output = "He said to the warriors fighting near him,"
                },
                new
                {
                    Input  = "Through 8.4 million incarnations you have wandered",
                    Output = "Through 8.4 million incarnations you have wandered"
                },
                new
                {
                    Input =
                        "Noche y día oh, dice Nanak, quien medite y vibre en el Nombre del Señor, ve cómo todos sus esfuerzos dan fruto. (20)",
                    Output =
                        "Noche y día oh, dice Nanak, quien medite y vibre en el Nombre del Señor, ve cómo todos sus esfuerzos dan fruto."
                },
                new
                {
                    Input =
                        "A tal ser el Señor lo encuentra y nunca más lo abandona, ya que lo inmerge en Su Paz Maravillosa.  ()1",
                    Output =
                        "A tal ser el Señor lo encuentra y nunca más lo abandona, ya que lo inmerge en Su Paz Maravillosa."
                },
                new
                {
                    Input =
                        "Misteriosa es la manera de los verdaderos Discípulos, porque no solamente escuchan la Instrucción del Guru, sino que se encuentran totalmente sobrellevados por ella. 25",
                    Output =
                        "Misteriosa es la manera de los verdaderos Discípulos, porque no solamente escuchan la Instrucción del Guru, sino que se encuentran totalmente sobrellevados por ella."
                },
                new
                {
                    Input =
                        "El mundo ha nacido para morir y es siempre destruido, una, otra, y otra vez; solamente uno se vuelve Eterno aferrándose a los Pies del Guru. (4‑6‑13",
                    Output =
                        "El mundo ha nacido para morir y es siempre destruido, una, otra, y otra vez; solamente uno se vuelve Eterno aferrándose a los Pies del Guru."
                },
                new
                {
                    Input  = "Toda la Maya es Tu Deleite. Nanak, Tu Esclavo, ofrece su ser en sacrificio a Ti. (4-2-9)",
                    Output = "Toda la Maya es Tu Deleite. Nanak, Tu Esclavo, ofrece su ser en sacrificio a Ti."
                },
                new
                {
                    Input  = "ese hombre ha recibido la Aprobación de Dios.  (4-40-47)",
                    Output = "ese hombre ha recibido la Aprobación de Dios."
                },
                new
                {
                    Input =
                        "स्री गुरू जी कहते हैं: जो रात दिन नाम जपते हैं ऐसे गुरों के मुख से वाहु वाहु बाणी प्रापत होती है॥१॥",
                    Output =
                        "स्री गुरू जी कहते हैं: जो रात दिन नाम जपते हैं ऐसे गुरों के मुख से वाहु वाहु बाणी प्रापत होती है"
                },
                new
                {
                    Input  = "नानक. मनि तनि चाउ एहु; नित प्रभ कउ लोड़े ॥२१॥१॥ सुधु कीचे",
                    Output = "नानक. मनि तनि चाउ एहु; नित प्रभ कउ लोड़े"
                }
            };

            var passages = gurmukhiPassages.Concat(asciiPassages).Concat(translationPassages);

            Assert.All(passages, p => Assert.Equal(GurmukhiUtils.StripEndings(p.Input), p.Output));
        }