Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. // Isto é só um brincadeira por favor pessoal da DECOM não me mate
  2.  
  3. import java.net.*;
  4. import java.io.*;
  5. import java.util.ArrayList;
  6. import java.util.concurrent.Callable;
  7.  
  8. class Sigaon {
  9.  
  10. public static class State {
  11. State(Boolean siga, Boolean internet, Boolean siga_l) {
  12. sigaon = siga;
  13. sem_internet = internet;
  14. siga_lento = siga_l;
  15. }
  16.  
  17.  
  18.  
  19. public Boolean sigaon;
  20. public Boolean sem_internet;
  21. public Boolean siga_lento;
  22. }
  23.  
  24. public static Boolean testPing(String addr) {
  25. try (Socket socket = new Socket()) {
  26. socket.connect(new InetSocketAddress(addr, 80), 2000);
  27. } catch (IOException e) {
  28. return false;
  29. }
  30.  
  31. return true;
  32. }
  33.  
  34.  
  35. public static State check() {
  36. final var siga_addr = "200.128.186.66";
  37. final var google_addr = "172.217.162.163";
  38. final Boolean tests[] = {testPing(siga_addr), testPing(google_addr)};
  39. return new State(tests[0], tests[1], !tests[0] && tests[1]);
  40. }
  41.  
  42. public static String formatName(String s) {
  43. return (Character.toString(s.charAt(0)).toUpperCase()).concat(s.substring(1));
  44. }
  45.  
  46. public static Boolean equalsConf(String resp) {
  47. var n = new ArrayList<String>();
  48. n.add("yes");
  49. n.add("sim");
  50. n.add("claro");
  51.  
  52.  
  53. return n.stream().anyMatch(s -> s.equals(resp.toLowerCase())) ;
  54. }
  55.  
  56. public static void main(String[] args) throws Exception {
  57. System.out.println("Primeiro, diga-me seu nome");
  58. final var Reader = new BufferedReader(new InputStreamReader(System.in));
  59. final Callable<String> read = () -> {
  60. try {
  61. return Reader.readLine();
  62. } catch (IOException e) {
  63. // TODO Auto-generated catch block
  64. e.printStackTrace();
  65. }
  66. return null;
  67. };
  68.  
  69. System.out.println("Ola " + formatName(read.call()) + " esta curioso sobre o siga?");
  70. if (!equalsConf(read.call())) {
  71. System.out.println("Então tchau né");
  72. return;
  73. }
  74.  
  75. System.out.println("Checando se o Siga esta on...");
  76.  
  77. final var state = (new Sigaon()).check();
  78. if (state.sigaon) {
  79. System.out.println("Parece que ta tudo bem com o siga amén");
  80. }
  81. else {
  82. System.out.print(
  83. state.sem_internet ? "Conecta na internet pelo menos né " :
  84. "Siga ta off como de costume"
  85. );
  86. }
  87.  
  88.  
  89. return;
  90. }
  91. }
  92.  
  93.  
  94. import static org.junit.Assert.fail;
  95. import static org.junit.Assume.assumeThat;
  96. import static org.junit.Assume.assumeTrue;
  97. import org.hamcrest.core.*;
  98. import org.hamcrest.CoreMatchers;
  99. import org.hamcrest.Matcher;
  100. import org.junit.jupiter.api.Test;
  101.  
  102. class Sigaon_testTest {
  103.  
  104. @Test
  105. void RedeEstabilidade() {
  106. assumeThat(Sigaon.testPing("200.128.186.66"), CoreMatchers.is(Sigaon.testPing("200.128.186.66")));;
  107. assert(Sigaon.testPing("172.217.162.163").equals(Sigaon.testPing("172.217.162.163")));;
  108. }
  109.  
  110. @Test
  111. void SeSigaOnEstadoOkay() {
  112. assumeThat(Sigaon.testPing("200.128.186.66"), CoreMatchers.is(Sigaon.testPing("200.128.186.66")));;
  113. assert(Sigaon.check().sigaon == Sigaon.testPing("200.128.186.66"));
  114. }
  115.  
  116. @Test
  117. void seNãoTemInternetEntãoSigaOff() {
  118. assumeTrue(Sigaon.check().sem_internet);
  119. assert(Sigaon.check().sigaon == true);
  120. }
  121.  
  122. @Test
  123. void SigaLento() {
  124. assumeTrue(Sigaon.check().siga_lento);
  125. assert(Sigaon.check().sigaon == false && Sigaon.check().sem_internet);
  126. }
  127.  
  128. @Test
  129. void seTemInternet() {
  130. assumeTrue(Sigaon.check().sem_internet);
  131. assert(Sigaon.check().sigaon == true || Sigaon.check().siga_lento == true);
  132. }
  133.  
  134. @Test
  135. void nomeBemFormatado() {
  136. assert(Sigaon.formatName("aaaaaaa").equals("Aaaaaaa"));
  137. }
  138.  
  139. @Test
  140. void nomeNãoBagunçaNomeJaFormtado() {
  141. assert(Sigaon.formatName("Aaaaaaa").equals("Aaaaaaa"));
  142. }
  143.  
  144. @Test
  145. void verificaresposta() {
  146. assert(Sigaon.equalsConf("SIM"));
  147. assert(Sigaon.equalsConf("SiM"));
  148. }
  149.  
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement