/* * Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") * $Id: TestSubmissionModel.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 TestSubmissionModel extends TestCase implements ParticleModelListener { private Object mPropertyAdded = null; private Object mPropertyRemoved = null; private Object mPropertyRenamed = null; public TestSubmissionModel(String name) { super(name); } public void testInstantiation() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance != null); assertTrue(submissionmodel_instance instanceof SubmissionModel); assertSame(submissionmodel_instance.getParent(), elementmodel_instance); assertTrue(elementmodel_instance.containsChild(submissionmodel_instance)); } public void testGetId() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionIdModel titlemodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } titlemodel_instance = submissionmodel_instance.getId(); assertTrue(titlemodel_instance != null); assertTrue(titlemodel_instance instanceof SubmissionIdModel); assertEquals(titlemodel_instance.getName(), "submissionmodel1"); } public void testChangeId() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionIdModel titlemodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance.addParticleListener(this)); titlemodel_instance = submissionmodel_instance.getId(); assertNull(mPropertyRenamed); try { assertTrue(submissionmodel_instance.renameProperty(titlemodel_instance, "submissionmodel2")); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertSame(mPropertyRenamed, titlemodel_instance); } public void testChangeIdToSameName() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionIdModel titlemodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance.addParticleListener(this)); titlemodel_instance = submissionmodel_instance.getId(); assertNull(mPropertyRenamed); try { assertTrue(submissionmodel_instance.renameProperty(titlemodel_instance, "submissionmodel1") == false); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertNull(mPropertyRenamed); } public void testTryToRemoveId() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionIdModel titlemodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance.addParticleListener(this)); titlemodel_instance = submissionmodel_instance.getId(); assertNull(mPropertyRemoved); try { submissionmodel_instance.removeProperty(titlemodel_instance); fail(); } catch (GuiModelException e) { assertTrue(true); } assertNull(mPropertyRemoved); } public void testIdConflicts() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance1 = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance1 = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } try { submissionmodel_instance1.addParameter("parameter1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } try { new SubmissionModel(elementmodel_instance, "parameter1"); new SubmissionModel(elementmodel_instance, "submissionmodel2"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } try { new SubmissionModel(elementmodel_instance, "submissionmodel1"); fail(); } catch (GuiModelException e) { assertTrue(true); } } public void testNoInitialParameters() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertEquals(submissionmodel_instance.getParameters().size(), 0); } public void testInitialParameterCountIsZero() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertEquals(submissionmodel_instance.countParameters(), 0); } public void testAddOneParameter() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionParameterModel parametermodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance.addParticleListener(this)); assertNull(mPropertyAdded); try { parametermodel_instance = submissionmodel_instance.addParameter("parametermodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertSame(mPropertyAdded, parametermodel_instance); Iterator<SubmissionParameterModel> parameter_it = submissionmodel_instance.getParameters().iterator(); assertTrue(parameter_it.hasNext()); SubmissionParameterModel parameter = parameter_it.next(); assertEquals(parameter_it.hasNext(), false); assertSame(parameter, parametermodel_instance); } public void testAddTheSameParameterTwice() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionParameterModel parametermodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance.addParticleListener(this)); assertNull(mPropertyAdded); try { parametermodel_instance = submissionmodel_instance.addParameter("parametermodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertSame(mPropertyAdded, parametermodel_instance); mPropertyAdded = null; try { submissionmodel_instance.addParameter("parametermodel1"); fail(); } catch (GuiModelException e) { assertTrue(true); } assertNull(mPropertyAdded); Iterator<SubmissionParameterModel> parameter_it = submissionmodel_instance.getParameters().iterator(); assertTrue(parameter_it.hasNext()); Object parameter = parameter_it.next(); assertEquals(parameter_it.hasNext(), false); assertSame(parameter, parametermodel_instance); } public void testAddTwoParameters() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionParameterModel parametermodel_instance1 = null; SubmissionParameterModel parametermodel_instance2 = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance.addParticleListener(this)); assertNull(mPropertyAdded); try { parametermodel_instance1 = submissionmodel_instance.addParameter("parametermodel1"); assertSame(mPropertyAdded, parametermodel_instance1); parametermodel_instance2 = submissionmodel_instance.addParameter("parametermodel2"); assertSame(mPropertyAdded, parametermodel_instance2); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } Iterator<SubmissionParameterModel> parameter_it = submissionmodel_instance.getParameters().iterator(); assertTrue(parameter_it.hasNext()); SubmissionParameterModel parameter1 = parameter_it.next(); assertTrue(parameter_it.hasNext()); SubmissionParameterModel parameter2 = parameter_it.next(); assertTrue(parameter_it.hasNext() == false); assertTrue((parameter1 == parametermodel_instance1 && parameter2 == parametermodel_instance2) || (parameter2 == parametermodel_instance1 && parameter1 == parametermodel_instance2)); } public void testCountParameters() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionParameterModel parametermodel_instance1 = null; SubmissionParameterModel parametermodel_instance2 = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance.addParticleListener(this)); assertNull(mPropertyAdded); try { parametermodel_instance1 = submissionmodel_instance.addParameter("parametermodel1"); assertSame(mPropertyAdded, parametermodel_instance1); parametermodel_instance2 = submissionmodel_instance.addParameter("parametermodel2"); assertSame(mPropertyAdded, parametermodel_instance2); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertEquals(submissionmodel_instance.countParameters(), 2); assertEquals(submissionmodel_instance.countProperties(SubmissionParameterModel.class), 2); assertEquals(submissionmodel_instance.countProperties(ParticlePropertyModel.class), 3); } public void testParameterConflicts() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); submissionmodel_instance.addParameter("parametermodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } try { submissionmodel_instance.addParameter("parametermodel1"); fail(); } catch (GuiModelException e) { assertTrue(true); } try { submissionmodel_instance.addParameter("submissionmodel1"); submissionmodel_instance.addParameter("elementmodel1"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } } public void testRenameParameterConflict() { ElementModel elementmodel_instance = null; SubmissionModel submissionmodel_instance = null; SubmissionParameterModel parametermodel_instance1 = null; try { elementmodel_instance = new ElementModel("elementmodel1"); submissionmodel_instance = new SubmissionModel(elementmodel_instance, "submissionmodel1"); parametermodel_instance1 = submissionmodel_instance.addParameter("parametermodel1"); submissionmodel_instance.addParameter("parametermodel2"); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertTrue(submissionmodel_instance.addParticleListener(this)); assertNull(mPropertyRenamed); assertEquals(submissionmodel_instance.countParameters(), 2); try { assertTrue(submissionmodel_instance.renameProperty(parametermodel_instance1, "parametermodel2")); fail(); } catch (GuiModelException e) { assertTrue(true); } assertNull(mPropertyRenamed); assertEquals(submissionmodel_instance.countParameters(), 2); assertSame(submissionmodel_instance.getParameters().iterator().next(), parametermodel_instance1); assertEquals(parametermodel_instance1.getName(), "parametermodel1"); } public void parentChanged() { } public void childAdded(ParticleModel 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; } }