{"id":16112850,"url":"https://github.com/jonathanmdr/test-training","last_synced_at":"2025-04-06T07:22:54.736Z","repository":{"id":99788321,"uuid":"294164473","full_name":"jonathanmdr/Test-Training","owner":"jonathanmdr","description":"Automated testing training using Java programming language","archived":false,"fork":false,"pushed_at":"2021-01-24T00:53:29.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-12T12:55:33.286Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonathanmdr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-09T16:10:41.000Z","updated_at":"2021-01-24T00:53:32.000Z","dependencies_parsed_at":"2023-08-01T02:15:49.476Z","dependency_job_id":null,"html_url":"https://github.com/jonathanmdr/Test-Training","commit_stats":{"total_commits":17,"total_committers":2,"mean_commits":8.5,"dds":"0.17647058823529416","last_synced_commit":"3d2a2ddb470fdb5fdf71bdb997087072f0b549f9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanmdr%2FTest-Training","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanmdr%2FTest-Training/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanmdr%2FTest-Training/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanmdr%2FTest-Training/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanmdr","download_url":"https://codeload.github.com/jonathanmdr/Test-Training/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247446663,"owners_count":20940154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-09T20:09:26.384Z","updated_at":"2025-04-06T07:22:54.711Z","avatar_url":"https://github.com/jonathanmdr.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Test-Training\nAutomated testing training using Java programming language\n\nO treinamento consistiu na implementação de 3 exercícios com testes automatizados!\n\n## Continuous Integration\n![Java CI with Maven](https://github.com/jonathanmdr/Test-Training/workflows/Java%20CI%20with%20Maven/badge.svg)\n\n## Exercícios\n\n### Exercício 1 - Múltiplos de 3 ou 5\n\nDado todos os números naturais abaixo de 10; \u003cbr\u003e\nSe selecionarmos àqueles que sejam múltiplos de 3 ou 5 temos: 3, 5, 6 e 9. \u003cbr\u003e\nSe somarmos todos esses valores, teremos o resultado = 23\n\nDesenvolva um sistema que responda às seguintes dúvidas:\n\nQual é o valor da soma de todos os números múltiplos de 3 ou 5 de números naturais abaixo de 1000? \u003cbr\u003e\nQual é o valor da soma de todos os números múltiplos de 3 e 5 de números naturais abaixo de 1000? \u003cbr\u003e\nQual é o valor da soma de todos os números múltiplos de (3 ou 5) e 7 de números naturais abaixo de 1000? \u003cbr\u003e\n\n#### Definition of Done \u003cbr\u003e\nUma solução completamente testada, de preferência com testes para cada passo essencial para a checagem do resultado.\n\nO mínimo esperado é que tenham 3 testes, uma para cada pergunta, e outros testes validando os algoritmos usados para se chegar na solução final.\n\n### Exercício 2 - Números felizes \n\nOs números felizes são definidos pelo seguinte procedimento: \n\nComeçando com qualquer número inteiro positivo, o número é substituído pela soma dos quadrados dos seus dígitos. \nRepete-se esse processo até que o número seja igual a 1. \n\nTomamos o 7, que é um número feliz: \u003cbr\u003e\n● 7² = 49 \u003cbr\u003e\n● 4² + 9² = 97 \u003cbr\u003e \n● 9² + 7² = 130 \u003cbr\u003e\n● 1² + 3² + 0² = 10 \u003cbr\u003e\n● 1² + 0² = 1 \u003cbr\u003e\n\nUm número não é feliz quando, em seu processo de cálculo em algum momento ele entra em loop, ou seja, ele passe por um número que ele já passou anteriormente (não é possível determinar um número específico que ele sempre irá passar).\n\nFaça um programa que, dado um número natural qualquer, ele determine se é um número feliz. \n\n#### Definition of Done \u003cbr\u003e\nUm trecho de código onde é possível invocar um método checando se o número é feliz ou não, e o sistema consiga responder.\n\nA solução final deve ser quebrada em diversas etapas, passos que precisam ser executados para se chegar na solução final, e cada uma dessas etapas devem estar cobertas com testes automatizados.\nSugestão: Fazer seguindo TDD.\n\n\n### Exercício 3 - Palavras em números\n\nNeste problema, dado uma palavra composta somente por letras [a-zA-Z], cada letra possui um valor específico, ‘a’ vale 1, ‘b’ vale 2 e assim por diante, até a letra ‘z’ que vale 26. Do mesmo modo ‘A’ vale 27, ‘B’ vale 28, até a letra ‘Z’ que vale 52.\n\nO valor da palavra será a soma total dos valores de todas as letras da palavra.\n\nVocê precisa definir se cada palavra em um conjunto de palavras é: \u003cbr\u003e\nPrima ou não; \u003cbr\u003e\nFeliz ou não; \u003cbr\u003e\nMúltipla de 3 ou 5; \u003cbr\u003e\n\nQualquer caracter na palavra que não seja uma letra deve ser desconsiderado.\n\n#### Definition of Done\nUm sistema que, quando executado, transforme uma palavra em um número, seguindo a lógica acima, e responda as três questões: se é prima, feliz e múltipla de 3 ou 5.\n\nNão há a necessidade de ter interação com o usuário para requisitar a palavra.\n\nÉ esperado que as soluções anteriores sejam reusadas, e cada novo componente criado seja coberto com testes automatizados.\n\n### Observações\n\nNão foi desenvolvida uma classe Main para execução dos exercícios, todas as implementações descritas nos exercícios foram cobertas por testes automatizados.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanmdr%2Ftest-training","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanmdr%2Ftest-training","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanmdr%2Ftest-training/lists"}