Esempio 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));
        }
Esempio n. 2
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));
        }