package de.ivu.elect.dokumente.ergebnis.adapter;

public class Fraction {

  private final long nenner;
  private final long zaehler;

  public Fraction(long zaehler, long nenner) {
    this.nenner = nenner;
    this.zaehler = zaehler;
  }

  public long getNenner() {
    return nenner;
  }

  public long getZaehler() {
    return zaehler;
  }

  @Override
  public String toString() {
    return getGemischterBruch();
  }

  protected String getGemischterBruch() {
    String bruch = getRest() + "/" + nenner;
    return getRest() == 0 ? Long.toString(getQuotient()) : getQuotient() + " " + bruch;
  }

  protected long getRest() {
    return zaehler % nenner;
  }

  protected long getQuotient() {
    return zaehler / nenner;
  }
}
