OOP100100 Ответов: 0

Junit на java - как написать junit для исключений


всем привет

Мне нужно написать Junit для класса, который находит квадратное уравнение:

код:

import java.util.Scanner;

public class SquareEquation {
	private static boolean ans = true;


	public static void main(String[] args) {
		sqEquation();
	}
	public static void sqEquation(){

		while (ans==true) {

			double a;
			double b;
			double c;

			System.out.println("aX^2+bX+c=0: Enter a,b,c:");
			System.out.print("Enter a:");
			Scanner s = new Scanner(System.in); 
			a = s.nextDouble(); 	
			System.out.print("Enter b:");
			Scanner y = new Scanner(System.in);
			b = y.nextDouble(); 	
			System.out.print("Enter c:");
			Scanner z = new Scanner(System.in); 
			c = z.nextDouble();	

			sqEq(a,b,c);
		}
		System.out.println("bye bye");
	}
	public static void sqEq(double a, double b, double c) {

		double x1 = (-b + Math.sqrt(b*b-4*a*c))/(2*a);
		double x2 = (-b - Math.sqrt(b*b-4*a*c))/(2*a);


		if((b*b-4*a*c)>0) {
			System.out.println("x1: "+ x1+"  "+"x2:" +x2);
			continuegame();		
		}

		else if((b*b-4*a*c)==0 && checkabc(a,b,c)) {
			System.out.println("x1=x2="+x1);
			System.out.println(a+"X^2"+"+"+b+"X"+"+"+c+"=0");
			continuegame();		
		}


		else {
			try {
				if((b*b-4*a*c)<0) {
					throw new SquareEquationException ("Error: NO real roots!");
				}
				if(a==0&&b==0&&c==0) {
					throw new SquareEquationException ("x can be any number - trivial");
				}
				if(a==0&&b==0&&c!=0) {
					throw new SquareEquationException ("Error, no answer!");
				}

			}
			catch (SquareEquationException e) {
				e.printStackTrace();
			}


			finally {
				continuegame();
			}

		}
	}

	public static boolean continuegame () {
		System.out.println("Enter 0 or any number to Exit or 1 to solve aX^2+bX+c=0");
		Scanner f = new Scanner(System.in); 
		int k;
		k = f.nextInt();
		if (k==1) {
			ans=true;
			return ans;
		}
		else {
			ans=false;
			return ans;
		}
	}

	public static boolean checkabc (double a, double b, double c) {
		if(a==0&&b==0&&c==0) {
			return false;
		}
		if(a==0&&b==0&&c!=0) {
			return false;
		}
		else {
			return true;
		}

	}

}





как я могу написать Junit для этого класса? этот чек
1. вариант, что у меня есть 2 решения
2. варианты, которые у меня есть решения
3. вариант, что у меня нет никакого решения


Я не Успеха, чтобы сделать это..

Спасибо!!

Что я уже пробовал:

Я пытаюсь сделать Junit для этого класса, и у меня нет успеха с assertequals и синтаксисом junit для исключения, и мне нужен какой-то пример, который работает////

Gerry Schmitz

Ты сказал, что "пытался" ... тогда покажи, что ты пытался. Здесь нет бесплатного обеда.

0 Ответов