Me explico, nunca he hecho ningún test, y no se como ni muy bien que tengo que hacer...
Esta es mi clase a la cual necesito realizar el test
<pre class="brush:java">
public class Ejercicio1 {
/**
* Este método leerPolinomio lee el polinomio deseado de la línea del
* archivo en el que se encuentra
*
* @param linea
* cadena que representa a la línea en la que se encuentra el
* polinomio
* @return devuelve el polinomio leído
*/
@SuppressWarnings("resource")
public static Ecuacion2Grado leerPolinomio(String linea) {
String sAux;
Scanner sc;
linea = linea.trim();
linea = linea.substring(2); // Quito la letra del apartado y el
// paréntesis de separador
linea = linea.trim();
String busq = "";
int i = 0;
while (!(busq.equals("x"))) { // Busco la x para ver donde cortar el
// string
busq = linea.charAt(i) + "";
i++;
}
sAux = linea.substring(0, i - 2); // Hago un substring quitando "*x"
sc = new Scanner(sAux);
double a = sc.nextDouble();
linea = linea.substring(i + 2); // Hago un substring desde "^2"
busq = "";
i = 0;
while (!(busq.equals("x"))) {
busq = linea.charAt(i) + "";
i++;
}
sAux = linea.substring(0, i - 2); // Hago un substring quitando "*x"
double b = 0;
if ("+".equals(sAux.charAt(0) + "")) { // Miro si el primer carácter es
// un "+" o un "-" para luego
// cortarlo y si es "-"
// multiplicar por -1
sAux = sAux.substring(1); // Quito el signo quedandome con el
// coeficiente
sc = new Scanner(sAux);
b = sc.nextDouble();
} else {
sAux = sAux.substring(1); // Quito el signo quedandome con el
// coeficiente
sc = new Scanner(sAux);
b = sc.nextDouble();
b = (-1) * b;
}
busq = "";
i = 0;
while (!(busq.equals("x"))) {
busq = linea.charAt(i) + "";
i++;
}
linea = linea.substring(i + 2); // Hago un substring quitando "^1"
sAux = linea;
double c = 0;
if ("+".equals(sAux.charAt(0) + "")) { // Miro si el primer carácter es
// un "+" o un "-" para luego
// cortarlo y si es "-"
// multiplicar por -1
sAux = sAux.substring(1); // Quito el signo quedandome con el
// coeficiente
sc = new Scanner(sAux);
c = sc.nextDouble();
} else {
sAux = sAux.substring(1); // Quito el signo quedandome con el
// coeficiente
sc = new Scanner(sAux);
c = sc.nextDouble();
c = (-1) * c;
}
Ecuacion2Grado polinomio = new Ecuacion2Grado(a, b, c);
return polinomio;
}
/**
* Este método trata el polinomio convirtiendolo en la suma al cuadrado
* deseada
*
* @param pol
* Tipo Ecuacion2Grado que representa al polinomio de segundo
* grado
* @param pw
* Tipo printWriter que representa al polinomio en la forma
* deseada
*/
public static void tratarPolinomio(Ecuacion2Grado pol, PrintWriter pw) {
ComplejoBinomico sol = pol.getRaicesComplejas();
if( sol.getReal()>0 && sol.getImaginaria()>0){
String solucion = " " + pol.getA() + "*(x+" + sol.getReal() + ")^2+"
+ (pol.getA() * sol.getImaginaria()) + " ";
pw.println(solucion);
} else if(sol.getReal()>0 && sol.getImaginaria()<0){
String solucion = " " + pol.getA() + "*(x+" + sol.getReal() + ")^2"
+ (pol.getA() * sol.getImaginaria()) + " ";
pw.println(solucion);
} else if(sol.getReal()<0 && sol.getImaginaria()>0){
String solucion = " " + pol.getA() + "*(x" + sol.getReal() + ")^2+"
+ (pol.getA() * sol.getImaginaria()) + " ";
pw.println(solucion);
} else {
String solucion = " " + pol.getA() + "*(x" + sol.getReal() + ")^2"
+ (pol.getA() * sol.getImaginaria()) + " ";
pw.println(solucion);
}
}
/**
* Se leen los polinomios del archivo de texto Enunciado1.txt, se tratan y
* se muestran a través del archivo de texto Solucion1.txt el polinomio en
* la forma deseada
*
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
String paquete = System.getProperty("user.dir");
paquete = paquete + File.separator + "src" + File.separator + "org"
+ File.separator + "pc" + File.separator + "calculoanalitico"
+ File.separator;
String fuente = paquete + "Enunciado1.txt";
String destino = paquete + "Solucion1.txt";
File archivoFuente = new File(fuente);
File archivoDestino = new File(destino);
FileReader fr = new FileReader(archivoFuente);
BufferedReader br = new BufferedReader(fr);
PrintWriter pw = new PrintWriter(archivoDestino);
String linea;
br.readLine();
br.readLine();
linea = new String(br.readLine());
Ecuacion2Grado pol1 = leerPolinomio(linea);
linea = new String(br.readLine());
Ecuacion2Grado pol2 = leerPolinomio(linea);
linea = new String(br.readLine());
Ecuacion2Grado pol3 = leerPolinomio(linea);
linea = new String(br.readLine());
Ecuacion2Grado pol4 = leerPolinomio(linea);
pw.println("1. Soluciones");
pw.println();
pw.print(" a)");
tratarPolinomio(pol1, pw);
pw.print(" b)");
tratarPolinomio(pol2, pw);
pw.print(" c)");
tratarPolinomio(pol3, pw);
pw.print(" d)");
tratarPolinomio(pol4, pw);
br.close();
pw.close();
}
}
</pre>
E intento.. mirando por net....
pero que va, es que no sé u.u
Pero pongo lo que tengo
<pre class="brush:java">
public class Ejercicio1Test {
@Test
public void testLeerPolinomio() {
Ecuacion2Grado ecuacion2grado = new Ecuacion2Grado();
String linea = "d) 0*x^2+0*x+0";
assertTrue(true, (ecuacion2grado.leerPolinomio(linea)).equals(ecuac ion2grado));
}
@Test
public void testTratarPolinomio() {
fail("Not yet implemented");
}
}
</pre>
Del metodo tratar polinomios.. es que no se como hacer nada.....
El caso es que me da un error en el "assert" pq dice que tengo que realizar el metodo leerPolinomio..... y no se... estoy muy confusa ... u.u
Gracias de antemano