/**
* 2014 Urs Zeidler
*/
package de.urszeidler.eclipse.shr5Management.tests;
import java.util.Collections;
import java.util.Map;
import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
import de.urszeidler.eclipse.shr5.AbstraktPersona;
import de.urszeidler.eclipse.shr5.AttributModifikatorWert;
import de.urszeidler.eclipse.shr5.Fertigkeit;
import de.urszeidler.eclipse.shr5.Gegenstand;
import de.urszeidler.eclipse.shr5.KiAdept;
import de.urszeidler.eclipse.shr5.KiKraft;
import de.urszeidler.eclipse.shr5.KoerperPersona;
import de.urszeidler.eclipse.shr5.PersonaEigenschaft;
import de.urszeidler.eclipse.shr5.PersonaFertigkeit;
import de.urszeidler.eclipse.shr5.Shr5Factory;
import de.urszeidler.eclipse.shr5.Shr5Package;
import de.urszeidler.eclipse.shr5.SourceBook;
import de.urszeidler.eclipse.shr5.Spezies;
import de.urszeidler.eclipse.shr5Management.PlayerCharacter;
import de.urszeidler.eclipse.shr5Management.QuellenConstrain;
import de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator;
import de.urszeidler.eclipse.shr5Management.Shr5System;
import de.urszeidler.eclipse.shr5Management.Shr5managementFactory;
/**
* <!-- begin-user-doc -->
* A test case for the model object '<em><b>Shr5 Rule Generator</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following operations are tested:
* <ul>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasSpendAllPoints(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Spend All Points</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNotMoreMaxAttributes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Not More Max Attributes</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoSkillsOverMax(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has No Skills Over Max</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNotMoreSpecalism(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Not More Specalism</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoAttributesOverSpeciesAtt(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has No Attributes Over Species Att</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoConstrainVoilation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has No Constrain Voilation</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasLifestyleChoosen(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Lifestyle Choosen</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasOnlyAllowedSources(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Only Allowed Sources</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasKiPowerOverLimit(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Ki Power Over Limit</em>}</li>
* <li>{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasBasicViolations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Basic Violations</em>}</li>
* </ul>
* </p>
* @generated
*/
public abstract class Shr5RuleGeneratorTest extends CharacterGeneratorTest {
protected Shr5System shr5System;
protected BasicDiagnostic diagnostics;
protected Map<Object,Object> context;
/**
* Constructs a new Shr5 Rule Generator test case with the given name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Shr5RuleGeneratorTest(String name) {
super(name);
}
/**
* Returns the fixture for this Shr5 Rule Generator test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected Shr5RuleGenerator<?> getFixture() {
return (Shr5RuleGenerator<?>)fixture;
}
/**
* Tests the '{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#getGenerator() <em>Shr5 Generator</em>}' feature getter.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#getGenerator()
* @generated not
*/
public void testgetGenerator() {
}
/**
* Tests the '
* {@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasSpendAllPoints(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* <em>Has Spend All Points</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasSpendAllPoints(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
public void testHasSpendAllPoints__DiagnosticChain_Map() {
fail("testHasSpendAllPoints__DiagnosticChain_Map need to be implemented in subtest");
}
/**
* Tests the '
* {@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNotMoreMaxAttributes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* <em>Has Not More Max Attributes</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNotMoreMaxAttributes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
@SuppressWarnings("unchecked")
public void testHasNotMoreMaxAttributes__DiagnosticChain_Map() {
createBasicCategories();
PlayerCharacter character = PriorityCategorieTest.createMudanCharacter();
Spezies spezies = Shr5Factory.eINSTANCE.createSpezies();
character.getPersona().setSpezies(spezies);
spezies.setKonstitutionMax(5);
spezies.setStaerkeMax(5);
spezies.setReaktionMax(5);
spezies.setGeschicklichkeitMax(5);
spezies.setCharismaMax(5);
spezies.setIntuitionMax(5);
spezies.setWillenskraftMax(5);
spezies.setLogikMax(5);
getFixture().setCharacter(character);
shr5System.setNumberOfMaxAttributes(2);
Map<Object, Object> context = Collections.EMPTY_MAP;
DiagnosticChain diagnostics = new BasicDiagnostic();
assertEquals("is true", true, getFixture().hasNotMoreMaxAttributes(diagnostics, context));
character.getPersona().setKonstitutionBasis(5);
assertEquals("is true", true, getFixture().hasNotMoreMaxAttributes(diagnostics, context));
character.getPersona().setReaktionBasis(5);
assertEquals("is true", true, getFixture().hasNotMoreMaxAttributes(diagnostics, context));
character.getPersona().setStaerkeBasis(5);
assertEquals("is true", false, getFixture().hasNotMoreMaxAttributes(diagnostics, context));
getFixture().setCharacter(character);
}
protected abstract void createBasicCategories();
//{
// shr5System = Shr5managementFactory.eINSTANCE.createShr5System();
// getFixture().setGenerator(shr5System);
// }
/**
* Tests the '
* {@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoSkillsOverMax(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* <em>Has No Skills Over Max</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoSkillsOverMax(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
public void testHasNoSkillsOverMax__DiagnosticChain_Map() {
int max = 10;
getFixture().getGenerator().setSkillMax(max);
PlayerCharacter character = PriorityCategorieTest.createMudanCharacter();
getFixture().setCharacter(character);
assertEquals(true, getFixture().hasNoSkillsOverMax(diagnostics, context));
AbstraktPersona persona = character.getPersona();
PersonaFertigkeit personaFertigkeit = Shr5Factory.eINSTANCE.createPersonaFertigkeit();
personaFertigkeit.setFertigkeit(Shr5Factory.eINSTANCE.createFertigkeit());
personaFertigkeit.setStufe(max + 1);
persona.getFertigkeiten().add(personaFertigkeit);
assertEquals(false, getFixture().hasNoSkillsOverMax(diagnostics, context));
personaFertigkeit.setStufe(max);
assertEquals(true, getFixture().hasNoSkillsOverMax(diagnostics, context));
getFixture().getGenerator().setSkillMax(max - 1);
assertEquals(false, getFixture().hasNoSkillsOverMax(diagnostics, context));
}
/**
* Tests the '
* {@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNotMoreSpecalism(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* <em>Has Not More Specalism</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNotMoreSpecalism(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
public void testHasNotMoreSpecalism__DiagnosticChain_Map() {
getFixture().getGenerator().setNumberOfSpecalism(1);
PlayerCharacter character = PriorityCategorieTest.createMudanCharacter();
getFixture().setCharacter(character);
assertEquals(true, getFixture().hasNotMoreSpecalism(diagnostics, context));
AbstraktPersona persona = character.getPersona();
PersonaFertigkeit personaFertigkeit = Shr5Factory.eINSTANCE.createPersonaFertigkeit();
personaFertigkeit.setFertigkeit(Shr5Factory.eINSTANCE.createFertigkeit());
personaFertigkeit.setStufe(1);
personaFertigkeit.getSpezialisierungen().add(Shr5Factory.eINSTANCE.createSpezialisierung());
persona.getFertigkeiten().add(personaFertigkeit);
assertEquals(true, getFixture().hasNotMoreSpecalism(diagnostics, context));
personaFertigkeit.getSpezialisierungen().add(Shr5Factory.eINSTANCE.createSpezialisierung());
assertEquals(false, getFixture().hasNotMoreSpecalism(diagnostics, context));
getFixture().getGenerator().setNumberOfSpecalism(2);
assertEquals(true, getFixture().hasNotMoreSpecalism(diagnostics, context));
}
/**
* Tests the '
* {@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoAttributesOverSpeciesAtt(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* <em>Has No Attributes Over Species Att</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoAttributesOverSpeciesAtt(org.eclipse.emf.common.util.DiagnosticChain,
* java.util.Map)
* @generated not
*/
public void testHasNoAttributesOverSpeciesAtt__DiagnosticChain_Map() {
PlayerCharacter character = PriorityCategorieTest.createMudanCharacter();
getFixture().setCharacter(character);
Spezies spezies = Shr5Factory.eINSTANCE.createSpezies();
character.getPersona().setSpezies(spezies);
spezies.setKonstitutionMax(6);
spezies.setStaerkeMax(6);
spezies.setReaktionMax(6);
spezies.setGeschicklichkeitMax(6);
spezies.setCharismaMax(6);
spezies.setIntuitionMax(6);
spezies.setWillenskraftMax(6);
spezies.setLogikMax(6);
assertEquals(true, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
AbstraktPersona persona = character.getPersona();
persona.setKonstitutionBasis(7);
assertEquals(false, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
spezies.setKonstitutionMax(7);
assertEquals(true, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
persona.setKonstitutionBasis(8);
assertEquals(false, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
PersonaEigenschaft eigenschaft = Shr5Factory.eINSTANCE.createPersonaEigenschaft();
AttributModifikatorWert modifikatorWert = Shr5Factory.eINSTANCE.createAttributModifikatorWert();
modifikatorWert.setAttribut(Shr5Package.Literals.SPEZIES__KONSTITUTION_MAX);
modifikatorWert.setWert(1);
eigenschaft.getMods().add(modifikatorWert);
((KoerperPersona)persona).getEigenschaften().add(eigenschaft);
assertEquals(true, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
persona.setKonstitutionBasis(9);
assertEquals(false, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
persona.setKonstitutionBasis(6);
assertEquals(true, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
persona.setGeschicklichkeitBasis(7);
assertEquals(false, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
spezies.setGeschicklichkeitMax(7);
assertEquals(true, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
persona.setGeschicklichkeitBasis(8);
assertEquals(false, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
eigenschaft = Shr5Factory.eINSTANCE.createPersonaEigenschaft();
modifikatorWert = Shr5Factory.eINSTANCE.createAttributModifikatorWert();
modifikatorWert.setAttribut(Shr5Package.Literals.SPEZIES__GESCHICKLICHKEIT_MAX);
modifikatorWert.setWert(1);
eigenschaft.getMods().add(modifikatorWert);
((KoerperPersona)persona).getEigenschaften().add(eigenschaft);
assertEquals(true, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
persona.setGeschicklichkeitBasis(9);
assertEquals(false, getFixture().hasNoAttributesOverSpeciesAtt(diagnostics, context));
}
/**
* Tests the '{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoConstrainVoilation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has No Constrain Voilation</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasNoConstrainVoilation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
public void testHasNoConstrainVoilation__DiagnosticChain_Map() {
PlayerCharacter character = PriorityCategorieTest.createMudanCharacter();
getFixture().setCharacter(character);
AbstraktPersona persona = character.getPersona();
assertEquals(true, getFixture().hasNoConstrainVoilation(diagnostics, context));
PersonaEigenschaft eigenschaft = Shr5Factory.eINSTANCE.createPersonaEigenschaft();
eigenschaft.setParentId("id1");
QuellenConstrain quellenConstrain = Shr5managementFactory.eINSTANCE.createQuellenConstrain();
quellenConstrain.setSource(eigenschaft);
PersonaEigenschaft eigenschaft1 = Shr5Factory.eINSTANCE.createPersonaEigenschaft();
eigenschaft1.setParentId("id2");
quellenConstrain.getTargets().add(eigenschaft1);
getFixture().getGenerator().getAdditionalConstrains().add(quellenConstrain);
((KoerperPersona)persona).getEigenschaften().add(eigenschaft);
((KoerperPersona)persona).getEigenschaften().add(eigenschaft1);
assertEquals(false, getFixture().hasNoConstrainVoilation(diagnostics, context));
}
/**
* Tests the '{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasOnlyAllowedSources(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Only Allowed Sources</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasOnlyAllowedSources(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
public void testHasOnlyAllowedSources__DiagnosticChain_Map() {
PlayerCharacter character = PriorityCategorieTest.createMudanCharacter();
getFixture().setCharacter(character);
AbstraktPersona persona = character.getPersona();
KoerperPersona kp = (KoerperPersona)persona;
SourceBook sourceBook_allowed = Shr5Factory.eINSTANCE.createSourceBook();
SourceBook sourceBook_notallowed = Shr5Factory.eINSTANCE.createSourceBook();
assertEquals(true, getFixture().hasOnlyAllowedSources(diagnostics, context));
getFixture().getAllowedSources().add(sourceBook_allowed);
assertEquals(true, getFixture().hasOnlyAllowedSources(diagnostics, context));
Gegenstand gegenstand_allowed = Shr5Factory.eINSTANCE.createGegenstand();
gegenstand_allowed.setSrcBook(sourceBook_allowed);
character.getInventar().add(gegenstand_allowed);
assertEquals(true, getFixture().hasOnlyAllowedSources(diagnostics, context));
Gegenstand gegenstand_notallowed = Shr5Factory.eINSTANCE.createGegenstand();
gegenstand_notallowed.setSrcBook(sourceBook_notallowed);
character.getInventar().add(gegenstand_notallowed);
assertEquals(false, getFixture().hasOnlyAllowedSources(diagnostics, context));
character.getInventar().remove(gegenstand_notallowed);
assertEquals(true, getFixture().hasOnlyAllowedSources(diagnostics, context));
PersonaFertigkeit personaFertigkeit = Shr5Factory.eINSTANCE.createPersonaFertigkeit();
Fertigkeit fertigkeit = Shr5Factory.eINSTANCE.createFertigkeit();
fertigkeit.setSrcBook(sourceBook_allowed);
personaFertigkeit.setFertigkeit(fertigkeit);
personaFertigkeit.setStufe(1);
personaFertigkeit.getSpezialisierungen().add(Shr5Factory.eINSTANCE.createSpezialisierung());
persona.getFertigkeiten().add(personaFertigkeit);
assertEquals(true, getFixture().hasOnlyAllowedSources(diagnostics, context));
fertigkeit.setSrcBook(sourceBook_notallowed);
assertEquals(false, getFixture().hasOnlyAllowedSources(diagnostics, context));
fertigkeit.setSrcBook(sourceBook_allowed);
assertEquals(true, getFixture().hasOnlyAllowedSources(diagnostics, context));
PersonaEigenschaft eigenschaft = Shr5Factory.eINSTANCE.createPersonaEigenschaft();
kp.getEigenschaften().add(eigenschaft);
eigenschaft.setSrcBook(sourceBook_allowed);
assertEquals(true, getFixture().hasOnlyAllowedSources(diagnostics, context));
eigenschaft.setSrcBook(sourceBook_notallowed);
assertEquals(false, getFixture().hasOnlyAllowedSources(diagnostics, context));
eigenschaft.setSrcBook(sourceBook_allowed);
assertEquals(true, getFixture().hasOnlyAllowedSources(diagnostics, context));
}
/**
* Tests the '{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasKiPowerOverLimit(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Ki Power Over Limit</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasKiPowerOverLimit(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
public void testHasKiPowerOverLimit__DiagnosticChain_Map() {
PlayerCharacter adeptCharacter = PriorityCategorieTest.createAdeptCharacter();
getFixture().setCharacter(adeptCharacter);
KiAdept persona = (KiAdept)adeptCharacter.getPersona();
persona.setMagieBasis(2);
assertTrue(getFixture().hasKiPowerOverLimit(diagnostics, context));
KiKraft kipower= Shr5Factory.eINSTANCE.createKiKraft();
kipower.setKraftpunkte(-201);
persona.getKikraft().add(kipower);
assertFalse(getFixture().hasKiPowerOverLimit(diagnostics, context));
persona.setMagieBasis(3);
assertTrue(getFixture().hasKiPowerOverLimit(diagnostics, context));
kipower.setKraftpunkte(-300);
assertTrue(getFixture().hasKiPowerOverLimit(diagnostics, context));
kipower.setKraftpunkte(-301);
assertFalse(getFixture().hasKiPowerOverLimit(diagnostics, context));
}
/**
* Tests the '{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasBasicViolations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Basic Violations</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasBasicViolations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
public void testHasBasicViolations__DiagnosticChain_Map() {
}
/**
* Tests the '{@link de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasLifestyleChoosen(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Has Lifestyle Choosen</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see de.urszeidler.eclipse.shr5Management.Shr5RuleGenerator#hasLifestyleChoosen(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
* @generated not
*/
public void testHasLifestyleChoosen__DiagnosticChain_Map() {
PlayerCharacter character = PriorityCategorieTest.createMudanCharacter();
getFixture().setCharacter(character);
assertFalse(getFixture().hasLifestyleChoosen(diagnostics, context));
character.setChoosenLifestyle(Shr5Factory.eINSTANCE.createLifestyle());
assertTrue(getFixture().hasLifestyleChoosen(diagnostics, context));
}
} // Shr5RuleGeneratorTest