|
1
|
|
|
import unittest |
|
2
|
|
|
|
|
3
|
|
|
from keywords_finder import checkio |
|
4
|
|
|
|
|
5
|
|
|
|
|
6
|
|
|
class Tests(unittest.TestCase): |
|
7
|
|
|
TESTS = { |
|
8
|
|
|
"Basics": [ |
|
9
|
|
|
{ |
|
10
|
|
|
"input": ["This is only a text example for task example.", "example"], |
|
11
|
|
|
"answer": "This is only a text <span>example</span> for task <span>example</span>.", |
|
12
|
|
|
}, |
|
13
|
|
|
{ |
|
14
|
|
|
"input": [ |
|
15
|
|
|
"Python is a widely used high-level programming language.", |
|
16
|
|
|
"pyThoN", |
|
17
|
|
|
], |
|
18
|
|
|
"answer": "<span>Python</span> is a widely used high-level programming language.", |
|
19
|
|
|
}, |
|
20
|
|
|
{ |
|
21
|
|
|
"input": [ |
|
22
|
|
|
"It is experiment for control groups with similar distributions.", |
|
23
|
|
|
"is im", |
|
24
|
|
|
], |
|
25
|
|
|
"answer": "It <span>is</span> exper<span>im</span>ent for control groups with s<span>im</span>ilar d<span>is</span>tributions.", |
|
26
|
|
|
}, |
|
27
|
|
|
{ |
|
28
|
|
|
"input": [ |
|
29
|
|
|
"The National Aeronautics and Space Administration (NASA).", |
|
30
|
|
|
"nasa THE", |
|
31
|
|
|
], |
|
32
|
|
|
"answer": "<span>The</span> National Aeronautics and Space Administration (<span>NASA</span>).", |
|
33
|
|
|
}, |
|
34
|
|
|
{ |
|
35
|
|
|
"input": ["Did you find anything?", "word space tree"], |
|
36
|
|
|
"answer": "Did you find anything?", |
|
37
|
|
|
}, |
|
38
|
|
|
{ |
|
39
|
|
|
"input": ["Hello World! Or LOL", "hell world or lo"], |
|
40
|
|
|
"answer": "<span>Hello</span> <span>World</span>! <span>Or</span> <span>LO</span>L", |
|
41
|
|
|
}, |
|
42
|
|
|
], |
|
43
|
|
|
"Edge": [ |
|
44
|
|
|
{"input": ["", ""], "answer": ""}, |
|
45
|
|
|
{"input": ["", "find"], "answer": ""}, |
|
46
|
|
|
{"input": ["WORd", ""], "answer": "WORd"}, |
|
47
|
|
|
{"input": ["one", "one"], "answer": "<span>one</span>"}, |
|
48
|
|
|
{ |
|
49
|
|
|
"input": ["123456789", "3 6"], |
|
50
|
|
|
"answer": "12<span>3</span>45<span>6</span>789", |
|
51
|
|
|
}, |
|
52
|
|
|
{"input": ["OnE", "oNe"], "answer": "<span>OnE</span>"}, |
|
53
|
|
|
{ |
|
54
|
|
|
"input": ["onetwothree", "three two one"], |
|
55
|
|
|
"answer": "<span>one</span><span>two</span><span>three</span>", |
|
56
|
|
|
}, |
|
57
|
|
|
{ |
|
58
|
|
|
"input": ["JabberWocky", "jabber erwo ock"], |
|
59
|
|
|
"answer": "<span>JabberWock</span>y", |
|
60
|
|
|
}, |
|
61
|
|
|
{ |
|
62
|
|
|
"input": [ |
|
63
|
|
|
"Y0ejVFvAqaPPH1!qq!sx HY!fEDdmeiL0J!uhEp 8UW NB!M CDs1VnUWCZDG;wXEAhW8qrfDM8.KpB04JByCXR0iZv X .Cgeu6i2394OTH O.UTnJA0k2S3E.dNE8Btz0xuajeQnGAGBbp.hRItjkO?7Is70?9z,xtKSkeZNu1cy?BodNEvLGZTn08?Zwe!J8CXrc 62lwnhLJKOG?3VpR!qU9!Z8UAgP,bVddYCaTeMrQBuH RrOTWkgfEtJe!tLsg24Oo0PJ9hFEBzO0HtAY;UK50OrU0B7Oa,2K0gk4FQdJP!cDsqi?hx!48vpRb.L8DWqZoP3e; 6FkAM2Kdfvt;dZouv4.Lvol7vdyDIf0;nVYfl1yzV7w?V?qEDi9oG3e0.ahRVPUqh913 7kuDHOxZQ 1Afa2xLhYA zUPx hCLLOqBJ8VIjtliljfJXcd OWAy4zpm Jn!NiDj6Us Ou.Sce778W8;9VoH085MHOaU,Ha9Clob0wKcToJBDbmY,GI5CtlEIKwBOwxLI0mJqwEiQO3Dzg.yeGtlNmcRsYhMKSUVZovvTmEYHHvX8qj8OzEdkzQa?BT?FD?LkAxaZh!WQSgDzWeQmMqKrRFS1HZxE7Sj8ma5KS8F;UDLCGN,;aE7u5gr!YS2pXrf1MeDzHIQxG,i5c?.NQLb,QU?1eI!!9zz4NaMiUuhQAGds z8iZbRd!m4AalEpVZQWLsd?tZ62wMpP3CynHroeT.?ANoaEn,r92OLLW3!iXp.,BatUG56?BGltE2GtqlRJ 43.S 7tWqrtnE0pfBWGnijN?hlv896.9dYrLdGR5tq,Ad7x.eKjG!qjRJ;rbcmjcgNt8VvpZTthivaT?FGKt;Om5Er8kqf9GF?NPTyEZto6RRS;w WKZyi0zJ OqlQNFyK6V3RTg2KFFwL0R7Zj6FlWljWcG ZMH?DDZ;i F qy.0kMPhOmsqkFvj1ULulES1zLk9VrwWCgE?mjB9sQAadYxy4v?!VsP,fz.BgwpNJ.IEgSX8ufxO7o;X zTyn8URX1DhCgVEoQ;gNaSowcn?OExjY7071.docTvrg28KLEskH.fSc9db!B!cA?PToRmRFQieOJ5,b dpYp9zTx1mX8DVAkASOF WV,9UC a1aL97vszgxIXRDweJvnWNAA0bDvrUA20cEeJ0OL,RHT4RPXzs72dRBuuzN3YtqyFNF7s2zztFw.SWyCx pRquYobSbsE,Uj7g?E1huD6 .,d82dVMLO4.G,VnLDCj,.5QS nvBhvOI6rLjFCkix,.qrB36h,IYwu6x; QU,eTaMmJC!lc8XPE?,?QFmW38eOGpCSlUov3lXdHVipsgcPYyo1VQd6ZK8lClwNpZ5 TDV5u2Pw;PWz4nGdMD8kophwjApjgo5U.7nwIZ1 mab! mfmfghG. z pAZIzj60mQIaw!DdocV.O?D..OOjdGehrLVL0dqgo2xByZ6bkAfHMihgeW QW;bB6DHe3H?sxrWopeehilOr.j,JSPBUwe8rrpw5jr0QnI3xENv21?bihiP?5E! ,DiB4HKzz5oQ,wlOu!TReqRq1t1hkr?xx2jTK8 9ejjRwOglNV Z!L0K!L4H2.ZohC6iQvD!e mYgB1pX!JErYfjwX;CW2Uhr5,zlDvZ7U g3lMX7hb5TXUhc5,CytZ8P;DqLwb83,962TezFduncT?cc;HAuezA1?H8sUxvt1 DKFdyoEFG8OU00xz meHEOxJqoVm.Ch2djP6GJbCVB31e.rxjs7?plYg7mU2p Yj1V7bRlWBgBxiO6Q!q?IrJmXPAUz9CGlaxGwhiC2uUo8PlScp7eWS!w2VYWmndbjrqmgBj2r8PnJhce M0T3tvTzPz rHCSJ;ZW;ANJDDUnJUJfES;l,!1?XcTF7GZP6!TCXAJvK1T8,s ,,u8;IzYKFaW P;W9xdXRwmR,XQypa,H!8VUEOAtRJ arkCEN2I;!PX 1O2EGYcv?xsRlLStetAaXK7?j1uEiw2wYiHydaX4X r0J! XsdWq,WAZLvFj!KfiI!1!b;4uN6tZad Yf1Koe.!.J.LzXsk1 rzfray7TyqyVv!PH.aM7JXXndFLbcO2YlgiuP3c8crq!oqlbyTzsEIenaHEbg1Qp5QIzM.2 PNQ4Cvy1W14a,ppMTX zhWqTIlr5kWtRWdc J3FIxs.16dLZgapu3vjdK;BrSQ3vcDkLFL7d8cpKWMPdenDyebpkmZU!J;hezlFYZ31?oHfmhs1phWJacptah11fqkB3Pq9Gn749gwvhZ .eBCcjQJOh725dul15xni1huwkUJhcoP7erDtEwrbL 7,qK6U5cR8Bj;y9gcPeYdTwlQ2t3OwgzGtQRiPn,IsgZ? f5 TMg2R3OsZsdT7z9 rdRcRi2gs8h62qOq5,e6LRZeQRDp2ve!CJHYE7, BR l4LZG3IEqYBLV,Lo6A9WmBB,5;Vx0r30cEmNO; enxkuiuZar.RNmpbmW96fpuT mxy!bDhWeQZIhbnNmsl,k O3blJcycWV4y,4W26M.w iKAo7; EZuPu9?fp356 lNdhi6FIX ,?nJtCRa?C8,iJ Csesj.1e1BnwUybeF M;PYcoBeul sFbqfFiX.rZj4T3x8,WuwYbY8gV5IXQQFk7RA0Xn!cw3MvSwlApnSuHT .M.L89nAQlixtIo6opbC5dtcKIXTvmWAsAUVhmFZEIzC0DY9fmjhsb4AwoM4rqpc6wMRc5UqTJLB2K2TrSeUAJZJzXKj!YX4f;Ld4mBl;;8GJLOz bkrSobHEPhmX.Cgv;RBpOyf167!o.CGc?JoXUuk?NtRevAvpE;1 xXnFooFe6RyzeORjo8pieaHAn8VDA6 Z4VvgnMwHR7Gi.gFTf;0vAED0vON..bzDs;SjAd;83BsDR5rn;XAsftoPt8jljAzdRWuLwe1QfRYxVBId3x TuIdShkybLLCGRfDeb6oa R9,N PRN05JESpQAy7EIWhd8s,dbvzxMsDOu9deHKL5aqnJlw NtyhKwqz g9vc03YeEKHM9IYygr7Y.7T0OuUdsJtZwyUP6;bZv7TIgAd2FS6 rxbnmtEFzYS8O9eJLKLLEnE483KOI;x k3vcTzd!oiOzY2u9ukZrGsr802YBGDkeQo wbnEJ4unUnvZzqFH1dVzmGnEHk2ICMWzG1WE5oR3j8ZP?2JDCzttOUr qs.gqJ; XIkWf!zpZh5E0 NSBjRHxLEZsLiTYj,zD;pUc9r,dUHWu.I1xPf2oPy?kwtB8;ySCT5yLTc;5llI1MlUA9;KDa hdVbFZ9M?ZiFloDVXX2eC0ClAI3swflyhgIg,AK7SJlz;O.lkHS,d8 8Ed1cwSjjpZIx;IFt?HNQ,obdY;iGSNo6d5 uN1ojspj 73VHDUsbpNX9tW5siqIYi?0k3eKAV9gi6w9NRS L!f gAkW8vYmNgyNVOomdocH4VEVDrk1S,P6RGLwnv I1.n76ZC2n05wHjciwnbgKKxlBO0NHjQIbKXHSSCmHyr25LVH?Occlt!DN0JPyj?kT0wQUF3NUr7.hfB;.mD.jSqWg2a5FWytvU on.KU92YhJd6s;ZpTcyi7.ivL PP!!5;8KdOpTKFjnK0Ss0Oo;Nvb9Q8fk6tbh4dD9qTXdyqXwu6JN E.!juR,WqKL4fQKE5iv?3Nkk0EMoPYv;Vq9hOSTsIHd8V7D9PKLZWrcIZz3ZbU2Q3ZJx8iqRwKZpL0u;KCEj2Sk5bAH;kH,t;qAt galZyGS2UUZ QPe GV42jkkIVnA!FBWVU6pI?ASmhydtBAe92ICo.rA7hXLeNBTistksVU 2TZt7 kOFHqztH?sEabt v8SMGcjlkBhycSH!q0qwKC8VgQ5Jb87QPb.DoJMekwEeOlDi1LPcvPzEzfdK1p;0kdTQe6vKPqHA94Xd,ArGTgzqEfb6kQz5;8,E41T8yFI Hmw5 FJ9WnR!N.1wncn5j6sXP1R3Wkqw3rnv!5Mkp7 djUki 8l 1VXGUo25kipkurTUZD9svC;5nvOhpKyQzR;GYaFUwC?o9TLTA.;rQ?WPwPHRPiHCFD0uwf1hzw71K3YZ10Q 5bj;Z,1smLU6H nigA 3BKaKKgf2p9kOF?zDA7aPv,3jlMgDEj0J!Y;tnaW0wHg!6q GGhaABwOWHz23jK?YfNas2BRyEcYvo2OF4beva1PMc kRXb3mQTRdhFF0.SH1CphqoNYyC1sYC2bPkXs22n vA 5mzYAe8Wu1OIXO5WZ Tm6Sz8LXtMr8iEf1X2XtQS,Lr2 OcfErFx.!sqBZfrlbqJSb4CY;KbaqwTW AX1e6DD,dxRYb?pP5cLhkbWB1qrgi2u,LBcs9fS CMMAjGjzkKl GvVQht1Sj2xyU7In4nMrEY 2o51wr4kWufPXivuDGPmlzIHcaIU;D;b7lUEh;4JoP 0aEmvW?!Sp7jA?2.uihLabYq 0nl!23T8,odNOY?hLEwqs0KGtV;bTgv4Wg9Z,86mEVqmZJldORzzx6PsrsVJ2a?DVxUxrrw 81aAZAHEIE5gB4j;s MXDS Gfwh!QYtR4OCj1RozV;U0ZnOZL, 7ZUojZlRizdXs1,OmUep41.TbGz2N0O5Y,l?h.YsI5Lbmm8Gz,YRm0SO2VHqUvqchS,utkevoIXNwmXRuGbmVFEvbrryXe Vc9Udp0DnFBEIO jk7BzgJ2UT5VDrqFfoT7Fu u6LeKXqxUb5dLNmV2?0P?MKrZwQUaZukKz.CGkPdr p2D?0QaC oF7k,bgN6Hzg.?f039?l14mEGhpz2jCULTgOlt2PO4IijCuheuBMqI5TvKqZhGVyKCdmkHMNkHEaNWExTFNxcVR,4l?NL8CNiNGoT!L?FNiNVoTL.yTRSNA CQ2vf,ZuRa74fVhQMIMP7i3c6mHA2FCOadzt5D5FgCyG?EdumBIhiM?ky vf,J9ZLbEtcm", |
|
64
|
|
|
"jvfvaqa BIhiM?", |
|
65
|
|
|
], |
|
66
|
|
|
"answer": 'Y0e<span>jVFvAqa</span>PPH1!qq!sx HY!fEDdmeiL0J!uhEp 8UW NB!M CDs1VnUWCZDG;wXEAhW8qrfDM8.KpB04JByCXR0iZv X .Cgeu6i2394OTH O.UTnJA0k2S3E.dNE8Btz0xuajeQnGAGBbp.hRItjkO?7Is70?9z,xtKSkeZNu1cy?BodNEvLGZTn08?Zwe!J8CXrc 62lwnhLJKOG?3VpR!qU9!Z8UAgP,bVddYCaTeMrQBuH RrOTWkgfEtJe!tLsg24Oo0PJ9hFEBzO0HtAY;UK50OrU0B7Oa,2K0gk4FQdJP!cDsqi?hx!48vpRb.L8DWqZoP3e; 6FkAM2Kdfvt;dZouv4.Lvol7vdyDIf0;nVYfl1yzV7w?V?qEDi9oG3e0.ahRVPUqh913 7kuDHOxZQ 1Afa2xLhYA zUPx hCLLOqBJ8VIjtliljfJXcd OWAy4zpm Jn!NiDj6Us Ou.Sce778W8;9VoH085MHOaU,Ha9Clob0wKcToJBDbmY,GI5CtlEIKwBOwxLI0mJqwEiQO3Dzg.yeGtlNmcRsYhMKSUVZovvTmEYHHvX8qj8OzEdkzQa?BT?FD?LkAxaZh!WQSgDzWeQmMqKrRFS1HZxE7Sj8ma5KS8F;UDLCGN,;aE7u5gr!YS2pXrf1MeDzHIQxG,i5c?.NQLb,QU?1eI!!9zz4NaMiUuhQAGds z8iZbRd!m4AalEpVZQWLsd?tZ62wMpP3CynHroeT.?ANoaEn,r92OLLW3!iXp.,BatUG56?BGltE2GtqlRJ 43.S 7tWqrtnE0pfBWGnijN?hlv896.9dYrLdGR5tq,Ad7x.eKjG!qjRJ;rbcmjcgNt8VvpZTthivaT?FGKt;Om5Er8kqf9GF?NPTyEZto6RRS;w WKZyi0zJ OqlQNFyK6V3RTg2KFFwL0R7Zj6FlWljWcG ZMH?DDZ;i F qy.0kMPhOmsqkFvj1ULulES1zLk9VrwWCgE?mjB9sQAadYxy4v?!VsP,fz.BgwpNJ.IEgSX8ufxO7o;X zTyn8URX1DhCgVEoQ;gNaSowcn?OExjY7071.docTvrg28KLEskH.fSc9db!B!cA?PToRmRFQieOJ5,b dpYp9zTx1mX8DVAkASOF WV,9UC a1aL97vszgxIXRDweJvnWNAA0bDvrUA20cEeJ0OL,RHT4RPXzs72dRBuuzN3YtqyFNF7s2zztFw.SWyCx pRquYobSbsE,Uj7g?E1huD6 .,d82dVMLO4.G,VnLDCj,.5QS nvBhvOI6rLjFCkix,.qrB36h,IYwu6x; QU,eTaMmJC!lc8XPE?,?QFmW38eOGpCSlUov3lXdHVipsgcPYyo1VQd6ZK8lClwNpZ5 TDV5u2Pw;PWz4nGdMD8kophwjApjgo5U.7nwIZ1 mab! mfmfghG. z pAZIzj60mQIaw!DdocV.O?D..OOjdGehrLVL0dqgo2xByZ6bkAfHMihgeW QW;bB6DHe3H?sxrWopeehilOr.j,JSPBUwe8rrpw5jr0QnI3xENv21?bihiP?5E! ,DiB4HKzz5oQ,wlOu!TReqRq1t1hkr?xx2jTK8 9ejjRwOglNV Z!L0K!L4H2.ZohC6iQvD!e mYgB1pX!JErYfjwX;CW2Uhr5,zlDvZ7U g3lMX7hb5TXUhc5,CytZ8P;DqLwb83,962TezFduncT?cc;HAuezA1?H8sUxvt1 DKFdyoEFG8OU00xz meHEOxJqoVm.Ch2djP6GJbCVB31e.rxjs7?plYg7mU2p Yj1V7bRlWBgBxiO6Q!q?IrJmXPAUz9CGlaxGwhiC2uUo8PlScp7eWS!w2VYWmndbjrqmgBj2r8PnJhce M0T3tvTzPz rHCSJ;ZW;ANJDDUnJUJfES;l,!1?XcTF7GZP6!TCXAJvK1T8,s ,,u8;IzYKFaW P;W9xdXRwmR,XQypa,H!8VUEOAtRJ arkCEN2I;!PX 1O2EGYcv?xsRlLStetAaXK7?j1uEiw2wYiHydaX4X r0J! XsdWq,WAZLvFj!KfiI!1!b;4uN6tZad Yf1Koe.!.J.LzXsk1 rzfray7TyqyVv!PH.aM7JXXndFLbcO2YlgiuP3c8crq!oqlbyTzsEIenaHEbg1Qp5QIzM.2 PNQ4Cvy1W14a,ppMTX zhWqTIlr5kWtRWdc J3FIxs.16dLZgapu3vjdK;BrSQ3vcDkLFL7d8cpKWMPdenDyebpkmZU!J;hezlFYZ31?oHfmhs1phWJacptah11fqkB3Pq9Gn749gwvhZ .eBCcjQJOh725dul15xni1huwkUJhcoP7erDtEwrbL 7,qK6U5cR8Bj;y9gcPeYdTwlQ2t3OwgzGtQRiPn,IsgZ? f5 TMg2R3OsZsdT7z9 rdRcRi2gs8h62qOq5,e6LRZeQRDp2ve!CJHYE7, BR l4LZG3IEqYBLV,Lo6A9WmBB,5;Vx0r30cEmNO; enxkuiuZar.RNmpbmW96fpuT mxy!bDhWeQZIhbnNmsl,k O3blJcycWV4y,4W26M.w iKAo7; EZuPu9?fp356 lNdhi6FIX ,?nJtCRa?C8,iJ Csesj.1e1BnwUybeF M;PYcoBeul sFbqfFiX.rZj4T3x8,WuwYbY8gV5IXQQFk7RA0Xn!cw3MvSwlApnSuHT .M.L89nAQlixtIo6opbC5dtcKIXTvmWAsAUVhmFZEIzC0DY9fmjhsb4AwoM4rqpc6wMRc5UqTJLB2K2TrSeUAJZJzXKj!YX4f;Ld4mBl;;8GJLOz bkrSobHEPhmX.Cgv;RBpOyf167!o.CGc?JoXUuk?NtRevAvpE;1 xXnFooFe6RyzeORjo8pieaHAn8VDA6 Z4VvgnMwHR7Gi.gFTf;0vAED0vON..bzDs;SjAd;83BsDR5rn;XAsftoPt8jljAzdRWuLwe1QfRYxVBId3x TuIdShkybLLCGRfDeb6oa R9,N PRN05JESpQAy7EIWhd8s,dbvzxMsDOu9deHKL5aqnJlw NtyhKwqz g9vc03YeEKHM9IYygr7Y.7T0OuUdsJtZwyUP6;bZv7TIgAd2FS6 rxbnmtEFzYS8O9eJLKLLEnE483KOI;x k3vcTzd!oiOzY2u9ukZrGsr802YBGDkeQo wbnEJ4unUnvZzqFH1dVzmGnEHk2ICMWzG1WE5oR3j8ZP?2JDCzttOUr qs.gqJ; XIkWf!zpZh5E0 NSBjRHxLEZsLiTYj,zD;pUc9r,dUHWu.I1xPf2oPy?kwtB8;ySCT5yLTc;5llI1MlUA9;KDa hdVbFZ9M?ZiFloDVXX2eC0ClAI3swflyhgIg,AK7SJlz;O.lkHS,d8 8Ed1cwSjjpZIx;IFt?HNQ,obdY;iGSNo6d5 uN1ojspj 73VHDUsbpNX9tW5siqIYi?0k3eKAV9gi6w9NRS L!f gAkW8vYmNgyNVOomdocH4VEVDrk1S,P6RGLwnv I1.n76ZC2n05wHjciwnbgKKxlBO0NHjQIbKXHSSCmHyr25LVH?Occlt!DN0JPyj?kT0wQUF3NUr7.hfB;.mD.jSqWg2a5FWytvU on.KU92YhJd6s;ZpTcyi7.ivL PP!!5;8KdOpTKFjnK0Ss0Oo;Nvb9Q8fk6tbh4dD9qTXdyqXwu6JN E.!juR,WqKL4fQKE5iv?3Nkk0EMoPYv;Vq9hOSTsIHd8V7D9PKLZWrcIZz3ZbU2Q3ZJx8iqRwKZpL0u;KCEj2Sk5bAH;kH,t;qAt galZyGS2UUZ QPe GV42jkkIVnA!FBWVU6pI?ASmhydtBAe92ICo.rA7hXLeNBTistksVU 2TZt7 kOFHqztH?sEabt v8SMGcjlkBhycSH!q0qwKC8VgQ5Jb87QPb.DoJMekwEeOlDi1LPcvPzEzfdK1p;0kdTQe6vKPqHA94Xd,ArGTgzqEfb6kQz5;8,E41T8yFI Hmw5 FJ9WnR!N.1wncn5j6sXP1R3Wkqw3rnv!5Mkp7 djUki 8l 1VXGUo25kipkurTUZD9svC;5nvOhpKyQzR;GYaFUwC?o9TLTA.;rQ?WPwPHRPiHCFD0uwf1hzw71K3YZ10Q 5bj;Z,1smLU6H nigA 3BKaKKgf2p9kOF?zDA7aPv,3jlMgDEj0J!Y;tnaW0wHg!6q GGhaABwOWHz23jK?YfNas2BRyEcYvo2OF4beva1PMc kRXb3mQTRdhFF0.SH1CphqoNYyC1sYC2bPkXs22n vA 5mzYAe8Wu1OIXO5WZ Tm6Sz8LXtMr8iEf1X2XtQS,Lr2 OcfErFx.!sqBZfrlbqJSb4CY;KbaqwTW AX1e6DD,dxRYb?pP5cLhkbWB1qrgi2u,LBcs9fS CMMAjGjzkKl GvVQht1Sj2xyU7In4nMrEY 2o51wr4kWufPXivuDGPmlzIHcaIU;D;b7lUEh;4JoP 0aEmvW?!Sp7jA?2.uihLabYq 0nl!23T8,odNOY?hLEwqs0KGtV;bTgv4Wg9Z,86mEVqmZJldORzzx6PsrsVJ2a?DVxUxrrw 81aAZAHEIE5gB4j;s MXDS Gfwh!QYtR4OCj1RozV;U0ZnOZL, 7ZUojZlRizdXs1,OmUep41.TbGz2N0O5Y,l?h.YsI5Lbmm8Gz,YRm0SO2VHqUvqchS,utkevoIXNwmXRuGbmVFEvbrryXe Vc9Udp0DnFBEIO jk7BzgJ2UT5VDrqFfoT7Fu u6LeKXqxUb5dLNmV2?0P?MKrZwQUaZukKz.CGkPdr p2D?0QaC oF7k,bgN6Hzg.?f039?l14mEGhpz2jCULTgOlt2PO4IijCuheuBMqI5TvKqZhGVyKCdmkHMNkHEaNWExTFNxcVR,4l?NL8CNiNGoT!L?FNiNVoTL.yTRSNA CQ2vf,ZuRa74fVhQMIMP7i3c6mHA2FCOadzt5D5FgCyG?Edum<span>BIhiM?</span>ky vf,J9ZLbEtcm', |
|
67
|
|
|
}, |
|
68
|
|
|
{"input": ["aaaa", "aa a"], "answer": "<span>aaaa</span>"}, |
|
69
|
|
|
{"input": ["a b", "b a"], "answer": "<span>a</span> <span>b</span>"}, |
|
70
|
|
|
], |
|
71
|
|
|
"Extra": [ |
|
72
|
|
|
{ |
|
73
|
|
|
"input": ["Be careful with span and spam.", "spam span with"], |
|
74
|
|
|
"answer": "Be careful <span>with</span> <span>span</span> and <span>spam</span>.", |
|
75
|
|
|
}, |
|
76
|
|
|
{ |
|
77
|
|
|
"input": [ |
|
78
|
|
|
"abcdefghijklmnopqrstuvwxyz", |
|
79
|
|
|
"z y x w v u t s r q p o n m l k j i h g f e d c b a", |
|
80
|
|
|
], |
|
81
|
|
|
"answer": "<span>a</span><span>b</span><span>c</span><span>d</span><span>e</span><span>f</span><span>g</span><span>h</span><span>i</span><span>j</span><span>k</span><span>l</span><span>m</span><span>n</span><span>o</span><span>p</span><span>q</span><span>r</span><span>s</span><span>t</span><span>u</span><span>v</span><span>w</span><span>x</span><span>y</span><span>z</span>", |
|
82
|
|
|
}, |
|
83
|
|
|
{ |
|
84
|
|
|
"input": [ |
|
85
|
|
|
"aBcdeFghijKlmnopqrStuvwxYz", |
|
86
|
|
|
"z y x w v u t s r q p o n m l k j i h g f e d c b a", |
|
87
|
|
|
], |
|
88
|
|
|
"answer": "<span>a</span><span>B</span><span>c</span><span>d</span><span>e</span><span>F</span><span>g</span><span>h</span><span>i</span><span>j</span><span>K</span><span>l</span><span>m</span><span>n</span><span>o</span><span>p</span><span>q</span><span>r</span><span>S</span><span>t</span><span>u</span><span>v</span><span>w</span><span>x</span><span>Y</span><span>z</span>", |
|
89
|
|
|
}, |
|
90
|
|
|
], |
|
91
|
|
|
} |
|
92
|
|
|
|
|
93
|
|
|
def test_Basics(self): |
|
94
|
|
|
for i in self.TESTS['Basics']: |
|
95
|
|
|
assert checkio(*i['input']) == i['answer'] |
|
96
|
|
|
|
|
97
|
|
|
def test_Edge(self): |
|
98
|
|
|
for i in self.TESTS['Edge']: |
|
99
|
|
|
assert checkio(*i['input']) == i['answer'] |
|
100
|
|
|
|
|
101
|
|
|
def test_Extra(self): |
|
102
|
|
|
for i in self.TESTS['Extra']: |
|
103
|
|
|
assert checkio(*i['input']) == i['answer'] |
|
104
|
|
|
|