/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.xml.ui.wizards; import junit.framework.TestCase; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.teiid.designer.metamodels.xml.XmlFragment; import org.teiid.designer.xml.IVirtualDocumentFragmentSource; import org.teiid.designer.xml.ui.wizards.NewDocumentWizardModel; public class TestNewDocumentWizardModel extends TestCase { // // Instance variables: // private NewDocumentWizardModel wizmdl; private IProgressMonitor progMon; // // Set up: // @Override protected void setUp() throws Exception { super.setUp(); wizmdl = new NewDocumentWizardModel(); wizmdl.setSource(new FakeVirtualDocumentFragmentSource()); progMon = new NullProgressMonitor(); } @Override protected void tearDown() throws Exception { super.tearDown(); wizmdl = null; progMon = null; } // // Test methods: // public void testgetFragments() { XmlFragment[] frags = wizmdl.getFragments(null, progMon); // make sure not null: assertNotNull(frags); // make sure cached when no settings changed: assertSame(frags, wizmdl.getFragments(null, progMon)); } public void testSetBuildEntireDocuments() { // setting to different: --------------------------- boolean newValue = !wizmdl.getBuildEntireDocuments(); // settings this flag should trigger a rebuild: XmlFragment[] fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setBuildEntireDocuments(newValue); assertNotSame(fragsBefore, wizmdl.getFragments(null, progMon)); // make sure the getter has been updated: assertEquals(newValue, wizmdl.getBuildEntireDocuments()); // setting to same: -------------------------------- fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setBuildEntireDocuments(newValue); assertSame(fragsBefore, wizmdl.getFragments(null, progMon)); } public void testSetSource() { IVirtualDocumentFragmentSource srcBefore = wizmdl.getSource(); XmlFragment[] fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setSource(new FakeVirtualDocumentFragmentSource()); // different source, different fragments: assertNotSame(srcBefore, wizmdl.getSource()); assertNotSame(fragsBefore, wizmdl.getFragments(null, progMon)); } public void testSetSelectedFragmentCount() { // setting to different: --------------------------- int newValue = wizmdl.getSelectedFragmentCount() + 20; // settings this flag should trigger a rebuild: XmlFragment[] fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setSelectedFragmentCount(newValue); assertNotSame(fragsBefore, wizmdl.getFragments(null, progMon)); // make sure the getter has been updated: assertEquals(newValue, wizmdl.getSelectedFragmentCount()); // setting to same: -------------------------------- fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setSelectedFragmentCount(newValue); assertSame(fragsBefore, wizmdl.getFragments(null, progMon)); } public void testSetBuildMappingClasses() { boolean newValue = !wizmdl.getBuildMappingClasses(); // settings this flag should *not* trigger a rebuild: XmlFragment[] fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setBuildMappingClasses(newValue); assertSame(fragsBefore, wizmdl.getFragments(null, progMon)); // make sure the getter has been updated: assertEquals(newValue, wizmdl.getBuildMappingClasses()); } public void testSetEstimatedNodeCount() { int newValue = wizmdl.getEstimatedNodeCount() + 2000; // settings this flag should *not* trigger a rebuild: XmlFragment[] fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setEstimatedNodeCount(newValue); assertSame(fragsBefore, wizmdl.getFragments(null, progMon)); // make sure the getter has been updated: assertEquals(newValue, wizmdl.getEstimatedNodeCount()); } public void testSetUseSchemaTypes() { // setting to different: --------------------------- boolean newValue = !wizmdl.getUseSchemaTypes(); // settings this flag should trigger a rebuild: XmlFragment[] fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setUseSchemaTypes(newValue); assertNotSame(fragsBefore, wizmdl.getFragments(null, progMon)); // make sure the getter has been updated: assertEquals(newValue, wizmdl.getUseSchemaTypes()); // setting to same: -------------------------------- fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setUseSchemaTypes(newValue); assertSame(fragsBefore, wizmdl.getFragments(null, progMon)); } public void testSetBuildGlobalOnly() { // setting to different: --------------------------- boolean newValue = !wizmdl.getBuildGlobalOnly(); // settings this flag should trigger a rebuild: XmlFragment[] fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setBuildGlobalOnly(newValue); assertNotSame(fragsBefore, wizmdl.getFragments(null, progMon)); // make sure the getter has been updated: assertEquals(newValue, wizmdl.getBuildGlobalOnly()); // setting to same: -------------------------------- fragsBefore = wizmdl.getFragments(null, progMon); wizmdl.setBuildGlobalOnly(newValue); assertSame(fragsBefore, wizmdl.getFragments(null, progMon)); } }