Reprezentace předmětu a ukládání informací do souboru

Zadání úkolu

Úkolem je vytvořit třídu, která bude reprezentovat informace o předmětu a metody na jeho uložení do souboru.

Interface:

public interface Predmet {

String getKod();
void setKod(String kod);
String getNazev();
void setNazev(String nazev);
String getZkratka();
void setZkratka(String zkratka);
int getKredity();
void setKredity(int kredity);
void writeString(String s);
String readString(int position);

}

Ukázka testů:

public class TestPredmet extends TestCase {
private Predmet predmet = null;

/**
* Konstruktor testu - není povinný
*/
public TestPredmet(String name) {
super(name);
}

/**
* Inicializace testu. Provádí se před každým voláním metody testXXX().
*/
protected void setUp() throws Exception {
super.setUp();
predmet = new Predmet("456-310/1", "FLP", "Funkcionální a logické programování", 6);
}

/**
* Finalizace testu. Provádí se po každém volání metody testXXX()
*/
protected void tearDown() throws Exception {
predmet = null;
super.tearDown();
}

/** Test metody getKod() */
public void testGetKod() {
String expectedReturn = "456-310/1";
String actualReturn = predmet.getKod();
assertEquals("return value", expectedReturn, actualReturn);
}

/** Test metody getKredity() */
public void testGetKredity() {
int expectedReturn = 6;
int actualReturn = predmet.getKredity();
assertEquals("return value", expectedReturn, actualReturn);
}

/** Test metody getNazev() */
public void testGetNazev() {
String expectedReturn = "Funkcionální a logické programování";
String actualReturn = predmet.getNazev();
assertEquals("return value", expectedReturn, actualReturn);
}

/** Test metody getZkratka() */
public void testGetZkratka() {
String expectedReturn = "FLP";
String actualReturn = predmet.getZkratka();
assertEquals("return value", expectedReturn, actualReturn);
/**@todo fill in the test code*/
}

/** Test metody setKod() */
public void testSetKod() {
String kod = "111-222/3";
predmet.setKod(kod);
assertEquals("return value", kod, predmet.getKod());
}

/** Test metody setKredity() */
public void testSetKredity() {
int kredity = 3;
predmet.setKredity(kredity);
assertEquals("return value", kredity, predmet.getKredity());
}

/** Test metody setNazev() */
public void testSetNazev() {
String nazev = "Nazev predmetu";
predmet.setNazev(nazev);
assertEquals("return value", nazev, predmet.getNazev());
}

/** Test metody setZkratka() */
public void testSetZkratka() {
String zkratka = "ABC";
predmet.setZkratka(zkratka);
assertEquals("return value", zkratka, predmet.getZkratka());
}

/** Test metody toString() */
public void testToString() {
String expectedReturn = "456-310/1: Funkcionální a logické programování (FLP) 6 kr.";
String actualReturn = predmet.toString();
assertEquals("return value", expectedReturn, actualReturn);
}

/** Test metody equals() */
public void testEquals() {
assertTrue("stejny predmet", predmet.equals(predmet));
Predmet predmet1 = new Predmet("456-310/1", "XXX", "Jiný název", 2);
assertTrue("jiny predmet se stejnym kodem", predmet1.equals(predmet));
Predmet predmet2 = new Predmet("456-310/2", "FLP", "Funkcionální a logické programování", 6);
assertFalse("stejny predmet s jinym kodem", predmet2.equals(predmet));
}

/** Test konstruktoru */
public void testPredmet() {
String kod = "111-222/33";
String zkratka = "ABC";
String nazev = "Nazev predmetu";
int kredity = 3;
predmet = new Predmet(kod, zkratka, nazev, kredity);
assertEquals("kod", kod, predmet.getKod());
assertEquals("zkratka", zkratka, predmet.getZkratka());
assertEquals("nazev", nazev, predmet.getNazev());
assertEquals("kredity", kredity, predmet.getKredity());
}

}