/** * 2014 Urs Zeidler */ package de.urszeidler.eclipse.shr5Management.tests; import junit.textui.TestRunner; import org.eclipse.emf.common.util.EList; import de.urszeidler.eclipse.shr5.AbstraktPersona; import de.urszeidler.eclipse.shr5.Initation; import de.urszeidler.eclipse.shr5.KiKraft; import de.urszeidler.eclipse.shr5.KoerperPersona; import de.urszeidler.eclipse.shr5.MagieFokus; import de.urszeidler.eclipse.shr5.MartialartStyle; import de.urszeidler.eclipse.shr5.MysticAdept; import de.urszeidler.eclipse.shr5.PersonaEigenschaft; import de.urszeidler.eclipse.shr5.PersonaFertigkeit; import de.urszeidler.eclipse.shr5.PersonaFertigkeitsGruppe; import de.urszeidler.eclipse.shr5.PersonaKomplexForm; import de.urszeidler.eclipse.shr5.PersonaMartialartStyle; import de.urszeidler.eclipse.shr5.PersonaMartialartTechnique; import de.urszeidler.eclipse.shr5.PersonaZauber; import de.urszeidler.eclipse.shr5.Shr5Factory; import de.urszeidler.eclipse.shr5.Spezialisierung; import de.urszeidler.eclipse.shr5.Technomancer; import de.urszeidler.eclipse.shr5Management.PersonaChange; import de.urszeidler.eclipse.shr5Management.PlayerCharacter; import de.urszeidler.eclipse.shr5Management.Shr5managementFactory; import de.urszeidler.eclipse.shr5Management.util.ShadowrunManagmentTools; /** * <!-- begin-user-doc --> * A test case for the model object '<em><b>Persona Change</b></em>'. * <!-- end-user-doc --> * @generated */ public class PersonaChangeTest extends PersonaValueChangeTest { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static void main(String[] args) { TestRunner.run(PersonaChangeTest.class); } /** * Constructs a new Persona Change test case with the given name. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PersonaChangeTest(String name) { super(name); } /** * Returns the fixture for this Persona Change test case. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected PersonaChange getFixture() { return (PersonaChange)fixture; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see junit.framework.TestCase#setUp() * @generated */ @Override protected void setUp() throws Exception { setFixture(Shr5managementFactory.eINSTANCE.createPersonaChange()); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see junit.framework.TestCase#tearDown() * @generated */ @Override protected void tearDown() throws Exception { setFixture(null); } /** * Tests the '{@link de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() <em>Karma Cost</em>}' feature getter. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testGetKarmaCost() { // fail(); } /** * Tests the '{@link de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() <em>Karma Cost</em>}' feature getter. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testGetKarmaCost_Initation() { getFixture().setCharacter(playerCharacter); Initation value = Shr5Factory.eINSTANCE.createInitation(); value.setStufe(1); getFixture().setChangeable(value); assertEquals(-13, getFixture().getKarmaCost()); } /** * Tests the '{@link de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() <em>Karma Cost</em>}' feature getter. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testGetKarmaCost_Quallity() { getFixture().setCharacter(playerCharacter); PersonaEigenschaft value = Shr5Factory.eINSTANCE.createPersonaEigenschaft(); value.setKarmaKosten(10); getFixture().setChangeable(value); // getFixture().setQuallity(value); // getFixture().setAdded(false); assertEquals(-20, getFixture().getKarmaCost()); } /** * Tests the '{@link de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() <em>Karma Cost</em>}' feature getter. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testGetKarmaCost_Skill() { PersonaFertigkeit personaFertigkeit = playerCharacter.getPersona().getFertigkeiten().get(0); int value = personaFertigkeit.getStufe(); getFixture().setChangeable(personaFertigkeit); // getFixture().setFrom(2); // getFixture().setTo(3); playerCharacter.getChanges().add(getFixture()); assertEquals((value + 1) * -2, getFixture().getKarmaCost()); getFixture().applyChanges(); assertEquals(value + 1, personaFertigkeit.getStufe()); } /** * Tests the '{@link de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() <em>Karma Cost</em>}' feature getter. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testGetKarmaCost_SkillSpecialism() { PersonaFertigkeit personaFertigkeit = playerCharacter.getPersona().getFertigkeiten().get(0); Spezialisierung spezialisierung = personaFertigkeit.getFertigkeit().getSpezialisierungen().get(0); getFixture().setChangeable(spezialisierung); playerCharacter.getChanges().add(getFixture()); assertEquals(-7, getFixture().getKarmaCost()); getFixture().applyChanges(); assertEquals(true, personaFertigkeit.getSpezialisierungen().contains(spezialisierung)); } /** * Tests the '{@link de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() <em>Karma Cost</em>}' feature getter. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testGetKarmaCost_FokusBinding() { MagieFokus magieFokus = Shr5Factory.eINSTANCE.createMagieFokus(); magieFokus.setBindungsFaktor(2); magieFokus.setStufe(2); getFixture().setChangeable(magieFokus); playerCharacter.getChanges().add(getFixture()); assertEquals(-4, getFixture().getKarmaCost()); } /** * Tests the '{@link de.urszeidler.eclipse.shr5Management.Changes#applyChanges() <em>Apply Changes</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @see de.urszeidler.eclipse.shr5Management.Changes#applyChanges() * @generated not */ public void testApplyChanges() { PersonaFertigkeit personaFertigkeit = playerCharacter.getPersona().getFertigkeiten().get(0); getFixture().setChangeable(personaFertigkeit); playerCharacter.getChanges().add(getFixture()); getFixture().applyChanges(); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#applyChanges() * @generated not */ public void testApplyChanges_QuallityAdd() { getFixture().setCharacter(playerCharacter); PersonaEigenschaft value = Shr5Factory.eINSTANCE.createPersonaEigenschaft(); value.setKarmaKosten(10); getFixture().setChangeable(value); assertFalse(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); assertTrue(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#applyChanges() * @generated not */ public void testApplyChanges_QuallityRemove() { getFixture().setCharacter(playerCharacter); PersonaEigenschaft value = Shr5Factory.eINSTANCE.createPersonaEigenschaft(); if (playerCharacter.getPersona() instanceof KoerperPersona) { KoerperPersona kp = (KoerperPersona)playerCharacter.getPersona(); kp.getEigenschaften().add(value); } value.setKarmaKosten(10); getFixture().setChangeable(value); assertTrue(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); assertEquals(getFixture().getTo(), 0); getFixture().applyChanges(); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); assertFalse(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testApplyChanges_MartialArtStyle_Add() { PersonaFertigkeit personaFertigkeit = playerCharacter.getPersona().getFertigkeiten().get(0); PersonaMartialartStyle pmas = Shr5Factory.eINSTANCE.createPersonaMartialartStyle(); MartialartStyle style = Shr5Factory.eINSTANCE.createMartialartStyle(); style.getUsableWith().add(personaFertigkeit.getFertigkeit()); pmas.setStyle(style); getFixture().setChangeable(pmas); playerCharacter.getChanges().add(getFixture()); assertEquals(-7, getFixture().getKarmaCost()); assertEquals(getFixture().getFrom(), 0); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(true, personaFertigkeit.getSpezialisierungen().contains(pmas)); assertEquals(true, playerCharacter.getPersona().getMartialartStyles().contains(pmas)); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testApplyChanges_MartialArtTechnique_Add() { PersonaFertigkeit personaFertigkeit = playerCharacter.getPersona().getFertigkeiten().get(0); PersonaMartialartStyle pmas = Shr5Factory.eINSTANCE.createPersonaMartialartStyle(); PersonaMartialartTechnique technique = Shr5Factory.eINSTANCE.createPersonaMartialartTechnique(); personaFertigkeit.getSpezialisierungen().add(pmas); getFixture().setChangeable(technique); playerCharacter.getChanges().add(getFixture()); assertEquals(-5, getFixture().getKarmaCost()); assertEquals(getFixture().getFrom(), 0); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); // assertEquals(true, pmas.getTechniques().contains(technique)); // TODO: assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testApplyChanges_Skill_Increase() { PersonaFertigkeit personaFertigkeit = playerCharacter.getPersona().getFertigkeiten().get(0); int value = personaFertigkeit.getStufe(); getFixture().setChangeable(personaFertigkeit); playerCharacter.getChanges().add(getFixture()); assertEquals((value + 1) * -2, getFixture().getKarmaCost()); assertEquals(getFixture().getFrom(), value); assertEquals(getFixture().getTo(), value + 1); getFixture().applyChanges(); assertEquals(value + 1, personaFertigkeit.getStufe()); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testApplyChanges_SkillSpecalism_Add() { PersonaFertigkeit personaFertigkeit = playerCharacter.getPersona().getFertigkeiten().get(0); Spezialisierung spezialisierung = personaFertigkeit.getFertigkeit().getSpezialisierungen().get(0); getFixture().setChangeable(spezialisierung); playerCharacter.getChanges().add(getFixture()); assertEquals(-7, getFixture().getKarmaCost()); assertEquals(getFixture().getFrom(), 0); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(true, personaFertigkeit.getSpezialisierungen().contains(spezialisierung)); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testApplyChanges_Skill_New() { PersonaFertigkeit fertigkeit = Shr5Factory.eINSTANCE.createPersonaFertigkeit(); assertFalse(playerCharacter.getPersona().getFertigkeiten().contains(fertigkeit)); fertigkeit.setFertigkeit(Shr5Factory.eINSTANCE.createFertigkeit()); getFixture().setChangeable(fertigkeit); playerCharacter.getChanges().add(getFixture()); assertEquals(-2, getFixture().getKarmaCost()); assertEquals(getFixture().getFrom(), 0); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(1, fertigkeit.getStufe()); assertTrue(playerCharacter.getPersona().getFertigkeiten().contains(fertigkeit)); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testApplyChanges_SkillGroup_Increase() { PersonaFertigkeitsGruppe fertigkeitsGruppe = Shr5Factory.eINSTANCE.createPersonaFertigkeitsGruppe(); fertigkeitsGruppe.setGruppe(Shr5Factory.eINSTANCE.createFertigkeitsGruppe()); playerCharacter.getPersona().getFertigkeitsGruppen().add(fertigkeitsGruppe); fertigkeitsGruppe.setStufe(1); getFixture().setChangeable(fertigkeitsGruppe); playerCharacter.getChanges().add(getFixture()); assertEquals(-10, getFixture().getKarmaCost()); assertEquals(getFixture().getFrom(), 1); assertEquals(getFixture().getTo(), 2); getFixture().applyChanges(); assertEquals(2, fertigkeitsGruppe.getStufe()); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#getKarmaCost() * @generated not */ public void testApplyChanges_SkillGroup_New() { PersonaFertigkeitsGruppe fertigkeitsGruppe = Shr5Factory.eINSTANCE.createPersonaFertigkeitsGruppe(); fertigkeitsGruppe.setGruppe(Shr5Factory.eINSTANCE.createFertigkeitsGruppe()); // playerCharacter.getPersona().getFertigkeitsGruppen().add(fertigkeitsGruppe); // fertigkeitsGruppe.setStufe(1); getFixture().setChangeable(fertigkeitsGruppe); playerCharacter.getChanges().add(getFixture()); assertEquals(-5, getFixture().getKarmaCost()); assertEquals(getFixture().getFrom(), 0); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(1, fertigkeitsGruppe.getStufe()); assertTrue(playerCharacter.getPersona().getFertigkeitsGruppen().contains(fertigkeitsGruppe)); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#applyChanges() * @generated not */ public void testApplyChanges_SpellAdd() { PlayerCharacter playerCharacter = PriorityCategorieTest.createMysticAdeptCharacter(); getFixture().setCharacter(playerCharacter); PersonaZauber value = Shr5Factory.eINSTANCE.createPersonaZauber(); // value.setKarmaKosten(10); getFixture().setChangeable(value); // assertFalse(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); AbstraktPersona persona = playerCharacter.getPersona(); // assertTrue(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); if (persona instanceof MysticAdept) { MysticAdept ma = (MysticAdept)persona; EList<PersonaZauber> zauber = ma.getZauber(); assertTrue(zauber.contains(value)); } else fail(); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#applyChanges() * @generated not */ public void testApplyChanges_BindFokus() { PlayerCharacter playerCharacter = PriorityCategorieTest.createMysticAdeptCharacter(); getFixture().setCharacter(playerCharacter); MagieFokus magieFokus = Shr5Factory.eINSTANCE.createMagieFokus(); magieFokus.setBindungsFaktor(2); magieFokus.setStufe(2); getFixture().setChangeable(magieFokus); playerCharacter.getChanges().add(getFixture()); assertEquals(-4, getFixture().getKarmaCost()); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); AbstraktPersona persona = playerCharacter.getPersona(); // assertTrue(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); if (persona instanceof MysticAdept) { MysticAdept ma = (MysticAdept)persona; assertEquals(1, ma.getBoundFoki().size()); assertTrue(ma.getBoundFoki().get(0).getFokus().equals(magieFokus)); } else fail(); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#applyChanges() * @generated not */ public void testApplyChanges_InitationAdd() { PlayerCharacter playerCharacter = PriorityCategorieTest.createMysticAdeptCharacter(); getFixture().setCharacter(playerCharacter); Initation value = Shr5Factory.eINSTANCE.createInitation(); // value.setKarmaKosten(10); getFixture().setChangeable(value); // assertFalse(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); AbstraktPersona persona = playerCharacter.getPersona(); // assertTrue(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); if (persona instanceof MysticAdept) { MysticAdept ma = (MysticAdept)persona; EList<Initation> zauber = ma.getInitationen(); assertTrue(zauber.contains(value)); } else fail(); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#applyChanges() * @generated not */ public void testApplyChanges_KiPowerAdd() { PlayerCharacter playerCharacter = PriorityCategorieTest.createMysticAdeptCharacter(); getFixture().setCharacter(playerCharacter); KiKraft value = Shr5Factory.eINSTANCE.createKiKraft(); // value.setKarmaKosten(10); getFixture().setChangeable(value); // assertFalse(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); AbstraktPersona persona = playerCharacter.getPersona(); // assertTrue(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); if (persona instanceof MysticAdept) { MysticAdept ma = (MysticAdept)persona; EList<KiKraft> kikraft = ma.getKikraft(); assertTrue(kikraft.contains(value)); } else fail(); } /** * @see de.urszeidler.eclipse.shr5Management.Changes#applyChanges() * @generated not */ public void testApplyChanges_ResonazAdd() { PlayerCharacter playerCharacter = PriorityCategorieTest.createTechnoCharacter(); getFixture().setCharacter(playerCharacter); PersonaKomplexForm value = Shr5Factory.eINSTANCE.createPersonaKomplexForm(); // value.setKarmaKosten(10); getFixture().setChangeable(value); // assertFalse(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); assertEquals(getFixture().getTo(), 1); getFixture().applyChanges(); assertEquals(true, getFixture().isChangeApplied()); assertNotNull(getFixture().getDateApplied()); AbstraktPersona persona = playerCharacter.getPersona(); // assertTrue(ShadowrunManagmentTools.hasEigenschaft(playerCharacter, value)); if (persona instanceof Technomancer) { Technomancer ma = (Technomancer)persona; EList<PersonaKomplexForm> zauber = ma.getComplexForms(); assertTrue(zauber.contains(value)); } else fail(); } } // PersonaChangeTest