package ch.elexis.data;

import static org.junit.Assert.*;

import java.util.List;

import org.eclipse.core.runtime.IStatus;
import org.junit.Test;

import ch.elexis.core.data.activator.CoreHub;
import ch.elexis.core.model.eigenartikel.Constants;
import ch.rgw.tools.Money;
import ch.rgw.tools.Result;

public class Test_Verrechnet extends AbstractPersistentObjectTest {
	
	@Test
	public void changeAnzahlValidated(){
		
		new Anwender("testAnwender", "pass", true);
		Anwender.login("testAnwender", "pass");
		
		Mandant m = new Mandant("Mandant", "Erwin", "26.07.1979", "m");
		CoreHub.setMandant(m);
		
		new Patient("Mustermann", "Max", "1.1.2000", "m");
		Fall fall = new Fall();
		Konsultation cons = new Konsultation(fall);
		Artikel art = new Artikel("TestEigenartikel", Constants.TYPE_NAME, "0815");
		art.setEKPreis(new Money(14.20));
		art.setVKPreis(new Money(20.10));
		
		cons.addLeistung(art);	
		List<Verrechnet> leistungen = cons.getLeistungen();
		assertEquals(1, leistungen.size());
		Verrechnet vr = leistungen.get(0);
		assertEquals(1, vr.getZahl());

		cons.addLeistung(art);
		cons.addLeistung(art);
		leistungen = cons.getLeistungen();
		assertEquals(1, leistungen.size());
		vr = leistungen.get(0);
		assertEquals(3, vr.getZahl());
		
		IStatus changeAnzahlValidated = vr.changeAnzahlValidated(2);
		assertTrue(changeAnzahlValidated.isOK());
		leistungen = cons.getLeistungen();
		assertEquals(1, leistungen.size());
		vr = leistungen.get(0);
		assertEquals(2, vr.getZahl());
	}
	
}

@@ -118,16 +118,65 @@
 Status;%0A
+import org.junit.After;%0Aimport org.junit.Before;%0A
 import o
@@ -186,24 +186,24 @@
 junit.Test;%0A
-
 %0Aimport ch.e
@@ -289,16 +289,86 @@
 stants;%0A
+import ch.elexis.core.types.LabItemTyp;%0Aimport ch.rgw.tools.JdbcLink;%0A
 import c
@@ -485,16 +485,217 @@
 est %7B%0A%09%0A
+%09private JdbcLink link;%0A%09%0A%09@Before%0A%09public void setUp()%7B%0A%09%09link = initDB();%0A%09%7D%0A%09%0A%09@After%0A%09public void tearDown()%7B%0A%09%09if (link != null) %7B%0A%09%09%09link.exec(%22DROP ALL OBJECTS%22);%0A%09%09%09link.disconnect();%0A%09%09%7D%0A%09%7D%0A%09%0A
 %09@Test%0A%09
@@ -1221,17 +1221,16 @@
 ng(art);
-%09
 %0A%09%09List%3C
@@ -1384,16 +1384,18 @@
 ahl());%0A
+%09%09
 %0A%09%09cons.

Fix test handling order to consider linux