Package: tko
tko - Test Kit OperationsPara rodar os baixar e executar os testes diretamente do seu computador, você precisará dopythoninstalado e dotkoinstalado.O python já vem instalado no linux e no mac. Para instalar no windows, baixe o instalador no site oficial:https://www.python.org/downloads/.Instale otkoutilizando opip, o gerenciador de pacotes do python:# baixando do repositório oficialpipinstalltko# ou baixar diretamente do githubpipinstallgit+https://github.com/senapk/tko.gitInstall in ReplitSe não pode instalar o compilador no seu computador, ou vai programar pelo celular, você pode utilizar o replit para rodar os testes. Para isso, siga as instruções do link:Replit tko InstallHabilitando a execução de Scripts no WindowsSe você estiver no windows, você precisará habilitar a execução de scripts. Para isso, abra o powershell como administrador e digite:Set-ExecutionPolicyUnrestricted# Se pedir confirmação, confirme e dê enterPara baixar a descrição das atividades e os testesPara baixar a atividade do carro do repositório de POO(Programação Orientada a Objetos):@002 Carroparajava:# Você informa o repositório `poo`# a questão `002`# e a linguagem `java`, `cpp`, `ts`# tko down _repo_ _questao_ _linguagem_tkodownpoo002javaPara rodar os testesVocê precisará do compilador próprio da linguagem que for programar, instale manualmente no seu sistema. Se estiver no replit, o template da linguagem já vem com o compilador instalado.c/c++:gccoug++java:javacpython:python3javascript:nodetypescript:esbuildAo baixar a questão, você terá os seguintes arquivos:Readme.md: com a descrição da atividade.cases.tio: com os casos de teste.draft.ext: com o rascunho da solução.Renomeie o arquivodraft.extpara o nome apropriado e edite com a sua solução. Para rodar os testes, utilize o comando:# tko run _arquivos_de_codigo _arquivo_de_casos_de_testetkorunSolver.javacases.tioNo exemplo da imagem acima, como o código não compilou corretamente, foram apresentados os erros de compilação.Verificando o resultadoApós fazer uma parte do código, executamos os testes novamente. Agora ele compila e mostra:Quantos testes passaram.O nome e o índice dos testes que falharam.O diff do primeiro teste que falhouresultado esperado (lado esquerdo), resultado obtido (lado direito).O diff da primeira linha diferente renderizando os whitespaces.Opções extrasCaso queira rodar apenas um índice de teste, utilize a opção-i:tkorunSolver.javacases.tio-i1Caso queira o diffup downao invés deleft right, utilize a opção-v:tkorunSolver.javacases.tio-vO que é um teste?Um teste define qual o comportamento esperado de um programa determinístico. Para uma determinada entrada, o programa deve gerarsemprea mesma saída.A entrada e saída e o comportamento esperado devem ser bem definidos, por exemplo:Dados dois números inteiros de entrada, um por linha, mostre o resultado da divisão. Se o resultado for inteiro, mostre o valor inteiro, se for flutuante, mostre com duas casas decimais.Formatos de testeUm arquivo de texto com vários testes:modelo TIO(test input output).modelo VPL que é utilizado no plugin do moodle.Uma pasta com um dois arquivos para cada teste, um arquivo com a entrada e outro com a saída.modelo maratona:Arquivos .in e .outArquivos .in e .solSintaxe TIO>>>>>>>>
entrada
...
========
saída
...
<<<<<<<<

>>>>>>>>
entrada
...
========
saída
...
<<<<<<<<Escrevendo alguns testesVamos escrever alguns testes para o problema proposto. Crie um arquivo chamadotestes.tioe vamos inserir algumas entradas para o problema proposto.>>>>>>>>
4
2
========
2
<<<<<<<<

>>>>>>>>
3
2
========
1.50
<<<<<<<<

>>>>>>>>
5
4
========
1.25
<<<<<<<<

>>>>>>>>
1
3
========
0.33
<<<<<<<<Listando os testesSalve o arquivotestes.tio.Abra o terminal na pasta onde colocou o arquivo.Para simplificar, certifique-se que só existe esse arquivo na pasta.O comandotkofunciona com subcomandos.O subcomandotko listmostra os testes.Mostrando os testes:tko list testes.tioOpções:-i ou --index: um índice específicoTestando um código com errosCrie algum código que tenta resolver o problema.# solver.pya=int(input())b=int(input())print(a/b)// solver.c#include<stdio.h>intmain(){inta=0,b=0;scanf("%d %d",&a,&b);printf("%d\n",(a/b));}Rodando diretamente passando o código fontetko run solver.c testes.tio: compila e testa seu código.tko run solver.py testes.tio: chama o interpretador e testa o código.tko run "python2 solver.py" testes.tio.Se pode compilar manualmente e passar o executável em qualquer linguagem. Se passar o código fonte, o script vai compilar com muitos critérios restritivos para garantir que seu código esteja bem feito.ExecutandoOpções extras:As mesmas do list:-i ou --index: roda um índice específico-a ou --all: mostra todos os testes que falharam e não apenas o primeiro.Vamos consertar nosso código// solver.c#include<stdio.h>intmain(){inta=0,b=0;scanf("%d %d",&a,&b);if(a%b==0)printf("%d\n",(a/b));elseprintf("%.2f\n",(float)a/b);}Rode agora e ele deve mostrar que todos os testes foram sucesso.Convertendo entre formatosGerando um.vpltko build t.vpl testes.tioExemplos rápidos# mostra os testestkolistt.tio# roda o executável solver.c e usa o arquivo t.tio como pacote de testestkorunsolver.ct.tio# se seus testes estiverem em arquivos com a extensão .tio ou .vpl ou .md# para listar basta digitartkolistcases.tio# roda apenas o teste número 3tkorunsolver.pyt.tio-i3# ou então rodar usandotkorunsolver.cpp"testes @.in @.sol"