Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Isto é só um brincadeira por favor pessoal da DECOM não me mate
- import java.net.*;
- import java.io.*;
- import java.util.ArrayList;
- import java.util.concurrent.Callable;
- class Sigaon {
- public static class State {
- State(Boolean siga, Boolean internet, Boolean siga_l) {
- sigaon = siga;
- sem_internet = internet;
- siga_lento = siga_l;
- }
- public Boolean sigaon;
- public Boolean sem_internet;
- public Boolean siga_lento;
- }
- public static Boolean testPing(String addr) {
- try (Socket socket = new Socket()) {
- socket.connect(new InetSocketAddress(addr, 80), 2000);
- } catch (IOException e) {
- return false;
- }
- return true;
- }
- public static State check() {
- final var siga_addr = "200.128.186.66";
- final var google_addr = "172.217.162.163";
- final Boolean tests[] = {testPing(siga_addr), testPing(google_addr)};
- return new State(tests[0], tests[1], !tests[0] && tests[1]);
- }
- public static String formatName(String s) {
- return (Character.toString(s.charAt(0)).toUpperCase()).concat(s.substring(1));
- }
- public static Boolean equalsConf(String resp) {
- var n = new ArrayList<String>();
- n.add("yes");
- n.add("sim");
- n.add("claro");
- return n.stream().anyMatch(s -> s.equals(resp.toLowerCase())) ;
- }
- public static void main(String[] args) throws Exception {
- System.out.println("Primeiro, diga-me seu nome");
- final var Reader = new BufferedReader(new InputStreamReader(System.in));
- final Callable<String> read = () -> {
- try {
- return Reader.readLine();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return null;
- };
- System.out.println("Ola " + formatName(read.call()) + " esta curioso sobre o siga?");
- if (!equalsConf(read.call())) {
- System.out.println("Então tchau né");
- return;
- }
- System.out.println("Checando se o Siga esta on...");
- final var state = (new Sigaon()).check();
- if (state.sigaon) {
- System.out.println("Parece que ta tudo bem com o siga amén");
- }
- else {
- System.out.print(
- state.sem_internet ? "Conecta na internet pelo menos né " :
- "Siga ta off como de costume"
- );
- }
- return;
- }
- }
- import static org.junit.Assert.fail;
- import static org.junit.Assume.assumeThat;
- import static org.junit.Assume.assumeTrue;
- import org.hamcrest.core.*;
- import org.hamcrest.CoreMatchers;
- import org.hamcrest.Matcher;
- import org.junit.jupiter.api.Test;
- class Sigaon_testTest {
- @Test
- void RedeEstabilidade() {
- assumeThat(Sigaon.testPing("200.128.186.66"), CoreMatchers.is(Sigaon.testPing("200.128.186.66")));;
- assert(Sigaon.testPing("172.217.162.163").equals(Sigaon.testPing("172.217.162.163")));;
- }
- @Test
- void SeSigaOnEstadoOkay() {
- assumeThat(Sigaon.testPing("200.128.186.66"), CoreMatchers.is(Sigaon.testPing("200.128.186.66")));;
- assert(Sigaon.check().sigaon == Sigaon.testPing("200.128.186.66"));
- }
- @Test
- void seNãoTemInternetEntãoSigaOff() {
- assumeTrue(Sigaon.check().sem_internet);
- assert(Sigaon.check().sigaon == true);
- }
- @Test
- void SigaLento() {
- assumeTrue(Sigaon.check().siga_lento);
- assert(Sigaon.check().sigaon == false && Sigaon.check().sem_internet);
- }
- @Test
- void seTemInternet() {
- assumeTrue(Sigaon.check().sem_internet);
- assert(Sigaon.check().sigaon == true || Sigaon.check().siga_lento == true);
- }
- @Test
- void nomeBemFormatado() {
- assert(Sigaon.formatName("aaaaaaa").equals("Aaaaaaa"));
- }
- @Test
- void nomeNãoBagunçaNomeJaFormtado() {
- assert(Sigaon.formatName("Aaaaaaa").equals("Aaaaaaa"));
- }
- @Test
- void verificaresposta() {
- assert(Sigaon.equalsConf("SIM"));
- assert(Sigaon.equalsConf("SiM"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement