Hi
Habe folgenden code und soll den mit JUnit testen. Weiß aber nicht wirklich wie ich das machen soll. Könnt ihr mir bitte behilflich sein? Benutze Eclipse 3.4.
Danke
Gruß
schihab
Habe folgenden code und soll den mit JUnit testen. Weiß aber nicht wirklich wie ich das machen soll. Könnt ihr mir bitte behilflich sein? Benutze Eclipse 3.4.
Code:
public class Muenzautomat extends Frame{
// Anfang Attribute
double muenz[][]= new double[2][8];
int anzahl_muenzen[] =new int[8];
private Panel panel1 = new Panel(null);
private Button button1 = new Button();
private TextField textField1 = new TextField();
private TextArea textArea1 = new TextArea("", 1, 1, TextArea.SCROLLBARS_NONE);
private Label label1 = new Label();
private Label label2 = new Label();
private Button button2 = new Button();
private TextField textField2 = new TextField();
private Label label3 = new Label();
// Ende Attribute
public void init()
{
muenz[0][0]=2;
muenz[0][1]=1;
muenz[0][2]=0.5;
muenz[0][3]=0.2;
muenz[0][4]=0.1;
muenz[0][5]=0.05;
muenz[0][6]=0.02;
muenz[0][7]=0.01;
for(int i=0;i<=7;i++)
{
muenz[1][i]=100;
}
}
public Muenzautomat(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 585;
int frameHeight = 347;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Panel cp = new Panel(null);
add(cp);
init();
// Anfang Komponenten
panel1.setBounds(0, 0, 577, 313);
cp.add(panel1);
button1.setBounds(128, 104, 99, 25);
button1.setLabel("Berechnen");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
button1_ActionPerformed(evt);
}
});
panel1.add(button1);
textField1.setBounds(24, 104, 89, 24);
textField1.setText("");
panel1.add(textField1);
textArea1.setBounds(280, 56, 289, 145);
textArea1.setText("");
panel1.add(textArea1);
textArea1.setEditable(false);
label1.setBounds(8, 160, 261, 16);
label1.setText("");
label1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
panel1.add(label1);
label2.setBounds(152, 16, 213, 32);
label2.setText("Münzautomat");
label2.setFont(new Font("MS Sans Serif", Font.PLAIN, 30));
panel1.add(label2);
button2.setBounds(128, 264, 99, 25);
button2.setLabel("Abfragen");
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
button2_ActionPerformed(evt);
}
});
panel1.add(button2);
textField2.setBounds(24, 264, 89, 24);
textField2.setText("");
panel1.add(textField2);
label3.setBounds(240, 264, 333, 24);
label3.setText("");
label3.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
panel1.add(label3);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void neuberechnen()
{
for(int i=0;i<=7;i++)
{
muenz[1][i]=muenz[1][i]-anzahl_muenzen[i];
anzahl_muenzen[i]=0;
}
}
public boolean pruefung(int i)
{
if((muenz[0][i]==2.0)&&(muenz[1][i]<=10))
return true;
if((muenz[0][i]==1.0)&&(muenz[1][i]<=10))
return true;
if((muenz[0][i]==0.5)&&(muenz[1][i]<=10))
return true;
if((muenz[0][i]==0.2)&&(muenz[1][i]<=10))
return true;
if((muenz[0][i]==0.1)&&(muenz[1][i]<=10))
return true;
if((muenz[0][i]==0.05)&&(muenz[1][i]<=10))
return true;
if((muenz[0][i]==0.02)&&(muenz[1][i]<=10))
return true;
if((muenz[0][i]==0.01)&&(muenz[1][i]<=10))
return true;
else return false;
}
public void button1_ActionPerformed(ActionEvent evt) {
double betrag = Double.parseDouble(textField1.getText());
int i=0, gesamt=0;
do
{
if(betrag>=muenz[0][i])
{
anzahl_muenzen[i]=(int)(betrag/muenz[0][i]);
betrag=betrag%muenz[0][i];
betrag=(java.lang.Math.round(betrag*100)/100.);
}
gesamt=gesamt+anzahl_muenzen[i];
i++;
if(i>7) break;
}while(betrag>0);
if(gesamt==1)
label1.setText("Es wird insgesamt 1 Münze benötigt");
else
label1.setText("Es werden insgesamt "+((Integer)gesamt).toString()+" Münzen benötigt");
textArea1.setText(null);
for(i=0;i<=7;i++)
{
if(anzahl_muenzen[i]!=0)
{
textArea1.insert((muenz[0][i]+" Euro: "+anzahl_muenzen[i]+"\n"),0);
if (pruefung(i)==true)textArea1.insert(("ACHTUNG!WENIG VON DEN " + muenz[0][i]+" EURO MÜNZEN VORHANDEN!\n"),0);
}
}
neuberechnen();
}
public int abfragen(double muenze) throws Exception
{
for(int i=0;i<=7;i++)
{
if(muenze==muenz[0][i])
return (int)muenz[1][i];
}
throw new Exception("Eingegebene Münze nicht vorhanden!!");
}
public void button2_ActionPerformed(ActionEvent evt) {
label3.setText("");
double muenze = Double.parseDouble(textField2.getText());
try
{
label3.setText("Es sind noch "+abfragen(muenze)+" münzen verfügbar");
}
catch(Exception fehler)
{
System.out.println(fehler);
}
}
// Ende Methoden
public static void main(String[] args) {
new Muenzautomat("Muenzautomat");
}
}
Danke
Gruß
schihab