/*
* Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com>
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: TestElementModel.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.gui.model;
import java.util.Iterator;
import junit.framework.TestCase;
import com.uwyn.rife.gui.model.exceptions.GuiModelException;
public class TestElementModel extends TestCase implements ParticleModelListener
{
private Object mChildAdded = null;
private Object mPropertyAdded = null;
private Object mPropertyRemoved = null;
private Object mPropertyRenamed = null;
public TestElementModel(String name)
{
super(name);
}
public void testInstantiation()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance != null);
assertTrue(elementmodel_instance instanceof ElementModel);
}
public void testGetId()
{
ElementModel elementmodel_instance = null;
ElementIdModel titlemodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
titlemodel_instance = elementmodel_instance.getId();
assertTrue(titlemodel_instance != null);
assertTrue(titlemodel_instance instanceof ElementIdModel);
assertEquals(titlemodel_instance.getName(), "elementmodel1");
}
public void testChangeId()
{
ElementModel elementmodel_instance = null;
ElementIdModel titlemodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
titlemodel_instance = elementmodel_instance.getId();
assertNull(mPropertyRenamed);
try
{
assertTrue(elementmodel_instance.renameProperty(titlemodel_instance, "elementmodel2"));
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyRenamed, titlemodel_instance);
}
public void testChangeIdToSameName()
{
ElementModel elementmodel_instance = null;
ElementIdModel titlemodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
titlemodel_instance = elementmodel_instance.getId();
assertNull(mPropertyRenamed);
try
{
assertTrue(elementmodel_instance.renameProperty(titlemodel_instance, "elementmodel1") == false);
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertNull(mPropertyRenamed);
}
public void testTryToRemoveId()
{
ElementModel elementmodel_instance = null;
ElementIdModel titlemodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
titlemodel_instance = elementmodel_instance.getId();
assertNull(mPropertyRemoved);
try
{
elementmodel_instance.removeProperty(titlemodel_instance);
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
assertNull(mPropertyRemoved);
}
public void testIdConflicts()
{
ElementModel elementmodel_instance1 = null;
try
{
elementmodel_instance1 = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
try
{
elementmodel_instance1.setImplementation("classname1");
elementmodel_instance1.addInput("inputmodel1");
elementmodel_instance1.addOutput("outputmodel1");
elementmodel_instance1.addExit("exitmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
try
{
new ElementModel("classname1");
new ElementModel("inputmodel1");
new ElementModel("outputmodel1");
new ElementModel("exitmodel1");
new ElementModel("elementmodel2");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
try
{
new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
// no error since they are not part of the same group yet
assertTrue(e.getMessage(), false);
}
}
public void testNoInitialClassname()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertNull(elementmodel_instance.getImplementation());
}
public void testSetClassname()
{
ElementModel elementmodel_instance = null;
ElementImplementationModel classnamemodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
classnamemodel_instance = elementmodel_instance.setImplementation("classnamemodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyAdded, classnamemodel_instance);
assertSame(elementmodel_instance.getImplementation(), classnamemodel_instance);
assertEquals(elementmodel_instance.countProperties(ElementImplementationModel.class), 1);
}
public void testSetClassnameTwice()
{
ElementModel elementmodel_instance = null;
ElementImplementationModel classnamemodel_instance2 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
classnamemodel_instance2 = elementmodel_instance.setImplementation("classnamemodel2");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyAdded, classnamemodel_instance2);
assertSame(elementmodel_instance.getImplementation(), classnamemodel_instance2);
assertEquals(elementmodel_instance.countProperties(ElementImplementationModel.class), 1);
}
public void testClassnameConflicts()
{
ElementModel elementmodel_instance1 = null;
ElementModel elementmodel_instance2 = null;
try
{
elementmodel_instance1 = new ElementModel("elementmodel1");
elementmodel_instance2 = new ElementModel("elementmodel2");
elementmodel_instance1.setImplementation("classname1");
elementmodel_instance1.addInput("inputmodel1");
elementmodel_instance1.addOutput("outputmodel1");
elementmodel_instance1.addExit("exitmodel1");
elementmodel_instance2.setImplementation("classname2");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
try
{
elementmodel_instance1.setImplementation("elementmodel1");
elementmodel_instance1.setImplementation("classname1");
elementmodel_instance1.setImplementation("inputmodel1");
elementmodel_instance1.setImplementation("outputmodel1");
elementmodel_instance1.setImplementation("exitmodel1");
elementmodel_instance1.setImplementation("elementmodel2");
elementmodel_instance1.setImplementation("classname2");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
}
public void testNoInitialInputs()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.getInputs().size(), 0);
}
public void testInitialInputCountIsZero()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.countInputs(), 0);
}
public void testAddOneInput()
{
ElementModel elementmodel_instance = null;
ElementInputModel inputmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
inputmodel_instance = elementmodel_instance.addInput("inputmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyAdded, inputmodel_instance);
Iterator<ElementInputModel> input_it = elementmodel_instance.getInputs().iterator();
assertTrue(input_it.hasNext());
ElementInputModel input = input_it.next();
assertEquals(input_it.hasNext(), false);
assertSame(input, inputmodel_instance);
}
public void testAddTheSameInputTwice()
{
ElementModel elementmodel_instance = null;
ElementInputModel inputmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
inputmodel_instance = elementmodel_instance.addInput("inputmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyAdded, inputmodel_instance);
mPropertyAdded = null;
try
{
elementmodel_instance.addInput("inputmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
assertNull(mPropertyAdded);
Iterator<ElementInputModel> input_it = elementmodel_instance.getInputs().iterator();
assertTrue(input_it.hasNext());
ElementInputModel input = input_it.next();
assertEquals(input_it.hasNext(), false);
assertSame(input, inputmodel_instance);
}
public void testAddTwoInputs()
{
ElementModel elementmodel_instance = null;
ElementInputModel inputmodel_instance1 = null;
ElementInputModel inputmodel_instance2 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
inputmodel_instance1 = elementmodel_instance.addInput("inputmodel1");
assertSame(mPropertyAdded, inputmodel_instance1);
inputmodel_instance2 = elementmodel_instance.addInput("inputmodel2");
assertSame(mPropertyAdded, inputmodel_instance2);
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
Iterator<ElementInputModel> input_it = elementmodel_instance.getInputs().iterator();
assertTrue(input_it.hasNext());
ElementInputModel input1 = input_it.next();
assertTrue(input_it.hasNext());
ElementInputModel input2 = input_it.next();
assertEquals(input_it.hasNext(), false);
assertTrue((input1 == inputmodel_instance1 && input2 == inputmodel_instance2) ||
(input2 == inputmodel_instance1 && input1 == inputmodel_instance2));
}
public void testCountInputs()
{
ElementModel elementmodel_instance = null;
ElementInputModel inputmodel_instance1 = null;
ElementInputModel inputmodel_instance2 = null;
ElementExitModel exitmodel_instance = null;
ElementOutputModel outputmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
assertNull(mPropertyAdded);
try
{
inputmodel_instance1 = elementmodel_instance.addInput("inputmodel1");
assertSame(mPropertyAdded, inputmodel_instance1);
inputmodel_instance2 = elementmodel_instance.addInput("inputmodel2");
assertSame(mPropertyAdded, inputmodel_instance2);
exitmodel_instance = elementmodel_instance.addExit("exitmodel");
assertSame(mPropertyAdded, exitmodel_instance);
outputmodel_instance = elementmodel_instance.addOutput("outputmodel");
assertSame(mPropertyAdded, outputmodel_instance);
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.countInputs(), 2);
assertEquals(elementmodel_instance.countProperties(ElementInputModel.class), 2);
assertEquals(elementmodel_instance.countProperties(ElementVariableModel.class), 3);
assertEquals(elementmodel_instance.countProperties(ElementPropertyModel.class), 5);
}
public void testInputConflicts()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
elementmodel_instance.setImplementation("classname");
elementmodel_instance.addInput("inputmodel1");
elementmodel_instance.addOutput("outputmodel1");
elementmodel_instance.addExit("exitmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
try
{
elementmodel_instance.addInput("inputmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
try
{
elementmodel_instance.addInput("outputmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
try
{
elementmodel_instance.addInput("elementmodel1");
elementmodel_instance.addInput("classname");
elementmodel_instance.addInput("exitmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
}
public void testRenameInputConflict()
{
ElementModel elementmodel_instance = null;
ElementInputModel inputmodel_instance1 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
inputmodel_instance1 = elementmodel_instance.addInput("inputmodel1");
elementmodel_instance.addInput("inputmodel2");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyRenamed);
try
{
assertTrue(elementmodel_instance.renameProperty(inputmodel_instance1, "inputmodel2"));
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
assertNull(mPropertyRenamed);
}
public void testNoInitialOutputs()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.getOutputs().size(), 0);
}
public void testInitialOutputCountIsZero()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.countOutputs(), 0);
}
public void testAddOneOutput()
{
ElementModel elementmodel_instance = null;
ElementOutputModel outputmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
outputmodel_instance = elementmodel_instance.addOutput("outputmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyAdded, outputmodel_instance);
Iterator<ElementOutputModel> output_it = elementmodel_instance.getOutputs().iterator();
assertTrue(output_it.hasNext());
ElementOutputModel output = output_it.next();
assertEquals(output_it.hasNext(), false);
assertSame(output, outputmodel_instance);
}
public void testAddTheSameOutputTwice()
{
ElementModel elementmodel_instance = null;
ElementOutputModel outputmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
outputmodel_instance = elementmodel_instance.addOutput("outputmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyAdded, outputmodel_instance);
mPropertyAdded = null;
try
{
elementmodel_instance.addOutput("outputmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
assertNull(mPropertyAdded);
Iterator<ElementOutputModel> output_it = elementmodel_instance.getOutputs().iterator();
assertTrue(output_it.hasNext());
ElementOutputModel output = output_it.next();
assertEquals(output_it.hasNext(), false);
assertSame(output, outputmodel_instance);
}
public void testAddTwoOutputs()
{
ElementModel elementmodel_instance = null;
ElementOutputModel outputmodel_instance1 = null;
ElementOutputModel outputmodel_instance2 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
try
{
outputmodel_instance1 = elementmodel_instance.addOutput("outputmodel1");
assertSame(mPropertyAdded, outputmodel_instance1);
outputmodel_instance2 = elementmodel_instance.addOutput("outputmodel2");
assertSame(mPropertyAdded, outputmodel_instance2);
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
Iterator<ElementOutputModel> output_it = elementmodel_instance.getOutputs().iterator();
assertTrue(output_it.hasNext());
ElementOutputModel output1 = output_it.next();
assertTrue(output_it.hasNext());
ElementOutputModel output2 = output_it.next();
assertEquals(output_it.hasNext(), false);
assertTrue((output1 == outputmodel_instance1 && output2 == outputmodel_instance2) ||
(output2 == outputmodel_instance1 && output1 == outputmodel_instance2));
}
public void testCountOutputs()
{
ElementModel elementmodel_instance = null;
ElementOutputModel outputmodel_instance1 = null;
ElementOutputModel outputmodel_instance2 = null;
ElementExitModel exitmodel_instance = null;
ElementInputModel inputmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
exitmodel_instance = elementmodel_instance.addExit("exitmodel1");
assertSame(mPropertyAdded, exitmodel_instance);
outputmodel_instance1 = elementmodel_instance.addOutput("outputmodel1");
assertSame(mPropertyAdded, outputmodel_instance1);
outputmodel_instance2 = elementmodel_instance.addOutput("outputmodel2");
assertSame(mPropertyAdded, outputmodel_instance2);
inputmodel_instance = elementmodel_instance.addInput("inputmodel");
assertSame(mPropertyAdded, inputmodel_instance);
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.countOutputs(), 2);
assertEquals(elementmodel_instance.countProperties(ElementOutputModel.class), 2);
assertEquals(elementmodel_instance.countProperties(ElementVariableModel.class), 3);
assertEquals(elementmodel_instance.countProperties(ElementPropertyModel.class), 5);
}
public void testOutputConflicts()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
elementmodel_instance.setImplementation("classname");
elementmodel_instance.addInput("inputmodel1");
elementmodel_instance.addOutput("outputmodel1");
elementmodel_instance.addExit("exitmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
try
{
elementmodel_instance.addOutput("outputmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
try
{
elementmodel_instance.addOutput("inputmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
try
{
elementmodel_instance.addOutput("elementmodel1");
elementmodel_instance.addOutput("classname");
elementmodel_instance.addOutput("exitmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
}
public void testRenameOutputConflict()
{
ElementModel elementmodel_instance = null;
ElementOutputModel outputmodel_instance1 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
outputmodel_instance1 = elementmodel_instance.addOutput("outputmodel1");
elementmodel_instance.addOutput("outputmodel2");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyRenamed);
try
{
assertTrue(elementmodel_instance.renameProperty(outputmodel_instance1, "outputmodel2"));
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
assertNull(mPropertyRenamed);
}
public void testNoInitialExits()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.getExits().size(), 0);
}
public void testInitialExitCountIsZero()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.countExits(), 0);
}
public void testAddOneExit()
{
ElementModel elementmodel_instance = null;
ElementExitModel exitmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
exitmodel_instance = elementmodel_instance.addExit("exitmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyAdded, exitmodel_instance);
Iterator<ElementExitModel> exit_it = elementmodel_instance.getExits().iterator();
assertTrue(exit_it.hasNext());
ElementExitModel exit = exit_it.next();
assertEquals(exit_it.hasNext(), false);
assertSame(exit, exitmodel_instance);
}
public void testAddTheSameExitTwice()
{
ElementModel elementmodel_instance = null;
ElementExitModel exitmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
exitmodel_instance = elementmodel_instance.addExit("exitmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mPropertyAdded, exitmodel_instance);
mPropertyAdded = null;
try
{
elementmodel_instance.addExit("exitmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
assertNull(mPropertyAdded);
Iterator<ElementExitModel> exit_it = elementmodel_instance.getExits().iterator();
assertTrue(exit_it.hasNext());
Object exit = exit_it.next();
assertEquals(exit_it.hasNext(), false);
assertSame(exit, exitmodel_instance);
}
public void testAddTwoExits()
{
ElementModel elementmodel_instance = null;
ElementExitModel exitmodel_instance1 = null;
ElementExitModel exitmodel_instance2 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
exitmodel_instance1 = elementmodel_instance.addExit("exitmodel1");
assertSame(mPropertyAdded, exitmodel_instance1);
exitmodel_instance2 = elementmodel_instance.addExit("exitmodel2");
assertSame(mPropertyAdded, exitmodel_instance2);
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
Iterator<ElementExitModel> exit_it = elementmodel_instance.getExits().iterator();
assertTrue(exit_it.hasNext());
ElementExitModel exit1 = exit_it.next();
assertTrue(exit_it.hasNext());
ElementExitModel exit2 = exit_it.next();
assertTrue(exit_it.hasNext() == false);
assertTrue((exit1 == exitmodel_instance1 && exit2 == exitmodel_instance2) ||
(exit2 == exitmodel_instance1 && exit1 == exitmodel_instance2));
}
public void testCountExits()
{
ElementModel elementmodel_instance = null;
ElementExitModel exitmodel_instance1 = null;
ElementExitModel exitmodel_instance2 = null;
ElementOutputModel outputmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyAdded);
try
{
outputmodel_instance = elementmodel_instance.addOutput("outputmodel1");
assertSame(mPropertyAdded, outputmodel_instance);
exitmodel_instance1 = elementmodel_instance.addExit("exitmodel1");
assertSame(mPropertyAdded, exitmodel_instance1);
exitmodel_instance2 = elementmodel_instance.addExit("exitmodel2");
assertSame(mPropertyAdded, exitmodel_instance2);
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.countExits(), 2);
assertEquals(elementmodel_instance.countProperties(ElementExitModel.class), 2);
assertEquals(elementmodel_instance.countProperties(ElementVariableModel.class), 1);
assertEquals(elementmodel_instance.countProperties(ElementPropertyModel.class), 4);
}
public void testExitConflicts()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
elementmodel_instance.setImplementation("classname");
elementmodel_instance.addInput("inputmodel1");
elementmodel_instance.addOutput("outputmodel1");
elementmodel_instance.addExit("exitmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
try
{
elementmodel_instance.addExit("exitmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
try
{
elementmodel_instance.addExit("elementmodel1");
elementmodel_instance.addExit("classname");
elementmodel_instance.addExit("inputmodel1");
elementmodel_instance.addExit("outputmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
}
public void testRenameExitConflict()
{
ElementModel elementmodel_instance = null;
ElementExitModel exitmodel_instance1 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
exitmodel_instance1 = elementmodel_instance.addExit("exitmodel1");
elementmodel_instance.addExit("exitmodel2");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mPropertyRenamed);
try
{
assertTrue(elementmodel_instance.renameProperty(exitmodel_instance1, "exitmodel2"));
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
}
assertNull(mPropertyRenamed);
}
public void testInitialSubmissionCountIsZero()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.countSubmissions(), 0);
}
public void testAddOneSubmission()
{
ElementModel elementmodel_instance = null;
SubmissionModel submissionmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mChildAdded);
try
{
submissionmodel_instance = elementmodel_instance.addSubmission("submissionmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mChildAdded, submissionmodel_instance);
Iterator<SubmissionModel> submission_it = elementmodel_instance.getSubmissions().iterator();
assertTrue(submission_it.hasNext());
Object submission = submission_it.next();
assertEquals(submission_it.hasNext(), false);
assertSame(submission, submissionmodel_instance);
}
public void testAddAnotherEqualSubmission()
{
ElementModel elementmodel_instance = null;
SubmissionModel submissionmodel_instance1 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mChildAdded);
try
{
submissionmodel_instance1 = elementmodel_instance.addSubmission("submissionmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertSame(mChildAdded, submissionmodel_instance1);
try
{
elementmodel_instance.addSubmission("submissionmodel1");
fail();
}
catch (GuiModelException e)
{
assertTrue(true);
assertSame(mChildAdded, submissionmodel_instance1);
}
Iterator<SubmissionModel> submission_it = elementmodel_instance.getSubmissions().iterator();
assertTrue(submission_it.hasNext());
Object submission = submission_it.next();
assertEquals(submission_it.hasNext(), false);
assertSame(submission, submissionmodel_instance1);
}
public void testAddTwoSubmissions()
{
ElementModel elementmodel_instance = null;
SubmissionModel submissionmodel_instance1 = null;
SubmissionModel submissionmodel_instance2 = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertTrue(elementmodel_instance.addParticleListener(this));
assertNull(mChildAdded);
try
{
submissionmodel_instance1 = elementmodel_instance.addSubmission("submissionmodel1");
assertSame(mChildAdded, submissionmodel_instance1);
submissionmodel_instance2 = elementmodel_instance.addSubmission("submissionmodel2");
assertSame(mChildAdded, submissionmodel_instance2);
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
Iterator<SubmissionModel> submission_it = elementmodel_instance.getSubmissions().iterator();
assertTrue(submission_it.hasNext());
Object submission1 = submission_it.next();
assertTrue(submission_it.hasNext());
Object submission2 = submission_it.next();
assertEquals(submission_it.hasNext(), false);
assertTrue((submission1 == submissionmodel_instance1 && submission2 == submissionmodel_instance2) ||
(submission2 == submissionmodel_instance1 && submission1 == submissionmodel_instance2));
}
public void testCountSubmissions()
{
ElementModel elementmodel_instance = null;
try
{
elementmodel_instance = new ElementModel("elementmodel1");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
try
{
elementmodel_instance.addSubmission("submissionmodel1");
elementmodel_instance.addSubmission("submissionmodel2");
}
catch (GuiModelException e)
{
assertTrue(e.getMessage(), false);
}
assertEquals(elementmodel_instance.countSubmissions(), 2);
}
public void parentChanged()
{
}
public void childAdded(ParticleModel child)
{
mChildAdded = child;
}
public void childRemoved(ParticleModel child)
{
}
public void propertyAdded(ParticlePropertyModel property)
{
mPropertyAdded = property;
}
public void propertyRemoved(ParticlePropertyModel property)
{
mPropertyRemoved = property;
}
public void propertyRenamed(ParticlePropertyModel property)
{
mPropertyRenamed = property;
}
}