Considere o seguinte método em Java:


     void doSomething(int x, double vec[]) {
        int y = 0;
        if (x > 0) y = 1;
        if (x > 100 && y != 0)
            System.out.println("less than 100");
        else
            y = vec[0];
        switch (y) {
            case 1:
                f(vec);
                break;
            case 2:
                g(vec);
                break;
        }
        ff(vec);
    }

  1. Desenho o grafo de controlo de fluxo do método doSomething.
  2. Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de instrução.
  3. Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de ramo.
  4. Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de caminho.