/* * Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com> * Licensed under the Apache License, Version 2.0 (the "License") * $Id: TestSiteModel.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 TestSiteModel extends TestCase implements ParticleModelListener { private Object mChildAdded = null; public TestSiteModel(String name) { super(name); } public void testInstantiation() { SiteModel sitemodel_instance = new SiteModel(); assertNotNull(sitemodel_instance); assertTrue(sitemodel_instance instanceof SiteModel); } public void testNoInitialElements() { SiteModel sitemodel_instance = new SiteModel(); assertEquals(sitemodel_instance.getElements().size(), 0); } public void testInitialElementCountIsZero() { SiteModel sitemodel_instance = new SiteModel(); assertEquals(sitemodel_instance.countElements(), 0); } public void testAddOneElement() { SiteModel sitemodel_instance = null; ElementModel elementmodel_instance = null; sitemodel_instance = new SiteModel(); assertTrue(sitemodel_instance.addParticleListener(this)); assertNull(mChildAdded); try { elementmodel_instance = new ElementModel("elementmodel1"); sitemodel_instance.addElement(elementmodel_instance); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertSame(mChildAdded, elementmodel_instance); Iterator<ElementModel> element_it = sitemodel_instance.getElements().iterator(); assertTrue(element_it.hasNext()); Object element = element_it.next(); assertEquals(element_it.hasNext(), false); assertSame(element, elementmodel_instance); } public void testAddAnotherEqualElement() { SiteModel sitemodel_instance = null; ElementModel elementmodel_instance1 = null; ElementModel elementmodel_instance2 = null; sitemodel_instance = new SiteModel(); assertTrue(sitemodel_instance.addParticleListener(this)); assertNull(mChildAdded); try { elementmodel_instance1 = new ElementModel("elementmodel1"); elementmodel_instance2 = new ElementModel("elementmodel1"); sitemodel_instance.addElement(elementmodel_instance1); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertSame(mChildAdded, elementmodel_instance1); try { sitemodel_instance.addElement(elementmodel_instance2); fail(); } catch (GuiModelException e) { assertTrue(true); assertSame(mChildAdded, elementmodel_instance1); } Iterator<ElementModel> element_it = sitemodel_instance.getElements().iterator(); assertTrue(element_it.hasNext()); Object element = element_it.next(); assertEquals(element_it.hasNext(), false); assertSame(element, elementmodel_instance1); } public void testAddTwoElements() { SiteModel sitemodel_instance = null; ElementModel elementmodel_instance1 = null; ElementModel elementmodel_instance2 = null; sitemodel_instance = new SiteModel(); assertTrue(sitemodel_instance.addParticleListener(this)); assertNull(mChildAdded); try { elementmodel_instance1 = new ElementModel("elementmodel1"); elementmodel_instance2 = new ElementModel("elementmodel2"); sitemodel_instance.addElement(elementmodel_instance1); assertSame(mChildAdded, elementmodel_instance1); sitemodel_instance.addElement(elementmodel_instance2); assertSame(mChildAdded, elementmodel_instance2); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } Iterator<ElementModel> element_it = sitemodel_instance.getElements().iterator(); assertTrue(element_it.hasNext()); Object element1 = element_it.next(); assertTrue(element_it.hasNext()); Object element2 = element_it.next(); assertEquals(element_it.hasNext(), false); assertTrue((element1 == elementmodel_instance1 && element2 == elementmodel_instance2) || (element2 == elementmodel_instance1 && element1 == elementmodel_instance2)); } public void testCountElements() { SiteModel sitemodel_instance = null; ElementModel elementmodel_instance1 = null; ElementModel elementmodel_instance2 = null; sitemodel_instance = new SiteModel(); try { elementmodel_instance1 = new ElementModel("elementmodel1"); elementmodel_instance2 = new ElementModel("elementmodel2"); sitemodel_instance.addElement(elementmodel_instance1); sitemodel_instance.addElement(elementmodel_instance2); } catch (GuiModelException e) { assertTrue(e.getMessage(), false); } assertEquals(sitemodel_instance.countElements(), 2); } public void parentChanged() { } public void childAdded(ParticleModel child) { mChildAdded = child; } public void childRemoved(ParticleModel child) { } public void propertyAdded(ParticlePropertyModel property) { } public void propertyRemoved(ParticlePropertyModel property) { } public void propertyRenamed(ParticlePropertyModel property) { } }