JUnit Test Klasse Rational

Status
Nicht offen für weitere Antworten.
B

Barney0815

Gast
Hallo,

ich habe da eine Aufgabe, wo ich nicht weiter komme.
Ich muss dabei zwei Brüche addieren. Aber zuvor probiere ich gerade eine einfache Sache aus.

Also die Klasse Rational:

Code:
public final class Rational implements Comparable {

    private final long zaehler;
    private final long nenner;

    public Rational(long number) {
        zaehler = number;
        nenner = 1;
    }

    public Rational(long numerator, long denominator) throws ArithmeticException {

        long g = gcd(numerator, denominator);
         
        numerator /= g ;
        denominator /= g;
        this.zaehler = numerator;
        this.nenner = denominator;
    }
}

Und meine Test.java

Code:
public void testAdd() {
Rational r1 = new Rational(1, 2);

assertEquals(new Rational(1, 2), r1);

}

Leider liefert JUnit kein postives ergebnis. Kann mir einer Helfen??
 

kama

Top Contributor
Hallo,

stelle Dir mal die Frage, was Du in dem JUnit Test tatsächlich miteinander vergleichst?

MfG
Karl Heinz Marbaise
 
B

Barney0815

Gast
Keine Ahnung! Kannst du mir nicht helfen?

Wenn ich sowas habe funkoniert es auc nicht
Code:
public void testAdd() { 
Rational r1 = new Rational(1, 2); 
Rational r2 = new Rational(1, 2); 

assertEquals(r1, r2); 

}

oder
Code:
public void testAdd() { 

assertEquals( new Rational(1, 2), new Rational(1, 2)); 

}
 

kama

Top Contributor
Hi,

Barney0815 hat gesagt.:
Code:
public void testAdd() { 
Rational r1 = new Rational(1, 2); 
Rational r2 = new Rational(1, 2); 

assertEquals(r1, r2); 

}
Also dass hier das assertEquals false liefert ist völlig in Ordnung. Du prüftst, ob die Objekte (r1, r2) identisch/gleich sind. Was sie nicht sind!

Es sind zwei unterschiedliche Objekte!

Was möchtest Du mit einem solchen Test erreichen?

MfG
Karl Heinz Marbaise
 
G

Guest

Gast
Nein das Teste ich auch nicht. Ich will ja das obere Testen.

Code:
public void testAdd() { 
Rational r1 = new Rational(1, 2); 

assertEquals(new Rational(1, 2), r1); 

}

Leider weiß ich nicht, was ich machen soll
 

SnooP

Top Contributor
Och Leute... sagt ihm das doch mal ;) ... - also du möchtest testen ob zwei Objekte inhaltlich gleich sind, sprich ob Zähler/Nenner identisch sind... - dazu musst du aber Java erstmal beibringen, dass er diese Attribute der Objekte miteinander vergleichen soll. Daher musst du schlicht die equals Methode in Rational vergleichen... diese muss dann true liefern, wenn Zähler/Nenner des übergebenen Objekts verglichen mit this gleich sind.

Wenn du das nicht willst, kannst du nur die konkreten Zahlenwerte des Objekts mit assertEquals vergleichen, dafür bräuchtest du aber konkrete get-Methoden für zaehler und nenner.
 
B

Barney0815

Gast
Ich habe nun eine equals()-Methode geschrieben. Kann ich diese so verwenden? oder sind da Fehler drin

Code:
public boolean equals( Object other ) {
        if (! (other instanceof Rational)) return false;
        Rational r = (Rational) other;

        if( other == null ) return false;
        
        if( this.nenner == r.nenner && this.zaehler == r.zaehler ) return true;
        else return false;
    }
 

Der Müde Joe

Top Contributor
so ca ja

zähler und nenner sind nicht static
also sollte r.nenner nicht gehen
zudem sind sie noch private also
haste eh keinen zugriff drauf

--> getter machen
 

Leroy42

Top Contributor
Der Müde Joe hat gesagt.:
so ca ja

zähler und nenner sind nicht static
also sollte r.nenner nicht gehen
zudem sind sie noch private also
haste eh keinen zugriff drauf

--> getter machen

:autsch: :autsch: :autsch:

Ist doch vollkommen richtig, was Barney geschrieben hat.

Ich würde es allerdings etwas verkürzen:

Code:
public boolean equals(Object other) { 
  if (other instanceof Rational) {
    Rational r = (Rational) other;
    return r != null && nenner == r.nenner && zaehler == r.zaehler;
  } else
    return false,
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Kfz - Händler Klasse. JUnit-Test gibt noch Fehler an, aber finde Ursache nicht Java Basics - Anfänger-Themen 7
W junit.Test not accessible? Java Basics - Anfänger-Themen 4
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
A Test Junit Java Basics - Anfänger-Themen 1
H Junit test Java Basics - Anfänger-Themen 12
P Methoden JUnit 4 - Test Java Basics - Anfänger-Themen 6
N Fehler bei JUnit Test Java Basics - Anfänger-Themen 5
B JUnit Test erstellen Java Basics - Anfänger-Themen 6
W Problem bei JUnit Test Aufgabe Java Basics - Anfänger-Themen 15
W JUnit Test und HashCode Java Basics - Anfänger-Themen 14
B Palindrom Test mit Junit Java Basics - Anfänger-Themen 23
S Junit Test Java Basics - Anfänger-Themen 2
shiroX Methoden JUnit-Test einer void-Methode Java Basics - Anfänger-Themen 4
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
S Separate Funktion für JUnit-Test Java Basics - Anfänger-Themen 3
T JUnit test failed Java Basics - Anfänger-Themen 3
R JUnit Test mit einer Dateistruktur als Testparameter Java Basics - Anfänger-Themen 3
shiroX OOP Array kleinste Zahl mit jUnit test Java Basics - Anfänger-Themen 3
S Code stimmt nicht für vorgegebenen JUnit-Test Java Basics - Anfänger-Themen 2
R JUnit Test mit mehrfach ausgeführt Java Basics - Anfänger-Themen 6
B JUnit - Mini-Test Java Basics - Anfänger-Themen 9
T Unterschied zwischen Integrationstest und JUnit test? Java Basics - Anfänger-Themen 12
Y Junit Test - Testwert ändert sich Java Basics - Anfänger-Themen 12
S Hilfe zu Java-Programm und JUnit Test!! Java Basics - Anfänger-Themen 5
T JUNit Test IOException Java Basics - Anfänger-Themen 5
Spin JUNIT Test Case - Problem bei testen Java Basics - Anfänger-Themen 2
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
timbeau JUnit Test Dauer speichern/loggen Java Basics - Anfänger-Themen 16
A junit test wann verwendet man "was"? Java Basics - Anfänger-Themen 4
J JUnit Test Java Basics - Anfänger-Themen 2
Houly JUnit Test Suite anlegen Java Basics - Anfänger-Themen 6
pun Junit Test erkennt Exception nicht.. Java Basics - Anfänger-Themen 14
G BlueJ jUnit Test Java Basics - Anfänger-Themen 6
V Test mit JUnit verbinden Java Basics - Anfänger-Themen 3
C Unsupported major.minor bei jUnit Test Java Basics - Anfänger-Themen 2
6 Best Practice Feedback zu Service / JUnit Tests Java Basics - Anfänger-Themen 3
M Anfängerfehler - Tests JUnit IntelliJ Java Basics - Anfänger-Themen 24
D Cannot find JUnit.framework Java Basics - Anfänger-Themen 1
U JUnit testen auf SomeException Java Basics - Anfänger-Themen 5
A JUnit testing is inkonsistent Java Basics - Anfänger-Themen 12
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
W JUnit Tests Java Basics - Anfänger-Themen 4
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
B JUnit / Exceptions/ try-catch Java Basics - Anfänger-Themen 6
L JUnit tests in java Java Basics - Anfänger-Themen 5
N JUnit und private Methoden testen. Java Basics - Anfänger-Themen 9
F JUnit - Was ist mit "side effects" gemeint ? Java Basics - Anfänger-Themen 2
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
L Junit Testing bei XML? Java Basics - Anfänger-Themen 3
J LocalDateTime testen mit Junit Java Basics - Anfänger-Themen 20
A Objekt in Methode zurückgeben, JUnit zeigt Error Java Basics - Anfänger-Themen 2
O JUnit - Objektreferenzen Java Basics - Anfänger-Themen 3
G Testen mit JUnit Java Basics - Anfänger-Themen 4
C JUnit Tests. How to Java Basics - Anfänger-Themen 5
shiroX Klassen Klasse/Methode private final jUnit-Fehler Java Basics - Anfänger-Themen 5
L Junit Tests Java Basics - Anfänger-Themen 10
A IllegalArgumentException in JUnit testen Java Basics - Anfänger-Themen 3
V ToString-Methode mit JUnit testen(BlueJ) Java Basics - Anfänger-Themen 10
V JUnit Klassen Java Basics - Anfänger-Themen 3
T Junit Mockito: Instanz von inneren erzeugten Objekten Java Basics - Anfänger-Themen 4
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
S Kommt es zu Seiteneffekten wenn man waehrend den laufenden JUnit Tests den Code aendert? Java Basics - Anfänger-Themen 2
M JUnit Testmethoden mit mehreren assert Methoden Java Basics - Anfänger-Themen 1
S Double und Gleitkommazahlen mit JUnit testen Java Basics - Anfänger-Themen 7
K JUnit: Objekte von eigenen Klassen vergleichen...geht nicht Java Basics - Anfänger-Themen 5
Z JUnit Exception Java Basics - Anfänger-Themen 2
M Verständnisfrage zu JUnit Tests und private Methoden Java Basics - Anfänger-Themen 3
M Ist die Hamcrest Bibliothek auch schon in Junit 4.11 verfügbar? Java Basics - Anfänger-Themen 1
S Unterschied .jar Datei ausführen und junit Testfall... Java Basics - Anfänger-Themen 3
M Reihenfolge von Testmethoden in JUnit beeinflussen Java Basics - Anfänger-Themen 2
G JUnit-Tests im Programmdurchlauf starten Java Basics - Anfänger-Themen 4
T Best Practice JUnit: Wie Klassen durch Stubs/Mockups ersetzen Java Basics - Anfänger-Themen 7
M Junit Tests durchführen, die eine Verbindung zu einer Daten erfordern Java Basics - Anfänger-Themen 3
T Junit in Eclipse Java Basics - Anfänger-Themen 1
P JUnit bedeutungen Java Basics - Anfänger-Themen 3
S JUnit assertEquals funktioniert nichgt wie es sollte :( Java Basics - Anfänger-Themen 7
V Frage zu JUnit Tests Java Basics - Anfänger-Themen 3
B JUnit für JFileChooser Java Basics - Anfänger-Themen 6
S File vergleich - Junit Java Basics - Anfänger-Themen 6
T JUnit Java Basics - Anfänger-Themen 18
G Junit Java Basics - Anfänger-Themen 4
X JUnit testing Java Basics - Anfänger-Themen 7
T JUnit Suite frage Java Basics - Anfänger-Themen 6
S InvocationTargetException bei JUnit Testlauf Java Basics - Anfänger-Themen 2
T Junit --Exception testen Java Basics - Anfänger-Themen 15
A JUnit Tests in Jar-Archiv packen Java Basics - Anfänger-Themen 2
G Erste Schritte JUNIT Regressionstests automatisieren Java Basics - Anfänger-Themen 2
M JUnit - nur einzelne Methode testen? Java Basics - Anfänger-Themen 4
M JUnit - nur Failures loggen? Java Basics - Anfänger-Themen 2
R String Replace für JUnit Java Basics - Anfänger-Themen 19
T JUNIT Nullpointerexception Java Basics - Anfänger-Themen 3
M JUNIT tests mit ant script ausführen Java Basics - Anfänger-Themen 4
S [JUnit] eigener Testsuite Runner + Ausgabe Java Basics - Anfänger-Themen 6
S [JUnit] Print Results while running Java Basics - Anfänger-Themen 6
W Mit jUnit Array testen? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben