001 package org.springframework.richclient.settings.xml; 002 003 import org.springframework.richclient.settings.Settings; 004 import org.springframework.richclient.settings.SettingsException; 005 import org.w3c.dom.Document; 006 007 import junit.framework.TestCase; 008 009 public class XmlSettingsFactoryTests extends TestCase { 010 public void testGetAndSetLocation() { 011 XmlSettingsFactory settingsFactory = new XmlSettingsFactory(); 012 013 assertEquals("default settings location is \"settings\"", "settings", settingsFactory.getLocation()); 014 015 settingsFactory.setLocation("other-settings"); 016 assertEquals("other-settings", settingsFactory.getLocation()); 017 018 settingsFactory.setLocation(null); 019 assertEquals("location not reset to default", "settings", settingsFactory.getLocation()); 020 } 021 022 public void testGetAndSetReaderWriter() { 023 XmlSettingsFactory settingsFactory = new XmlSettingsFactory(); 024 settingsFactory.setLocation("other-settings"); 025 026 XmlSettingsReaderWriter readerWriter = settingsFactory.getReaderWriter(); 027 assertTrue("default must be FileSystemXmlSettingsReaderWriter", 028 readerWriter instanceof FileSystemXmlSettingsReaderWriter); 029 // test location 030 FileSystemXmlSettingsReaderWriter fileSystemXmlSettingsReaderWriter = (FileSystemXmlSettingsReaderWriter) readerWriter; 031 assertEquals("other-settings", fileSystemXmlSettingsReaderWriter.getLocation()); 032 033 StringXmlSettingsReaderWriter newReaderWriter = new StringXmlSettingsReaderWriter(null); 034 settingsFactory.setReaderWriter(newReaderWriter); 035 assertEquals(newReaderWriter, settingsFactory.getReaderWriter()); 036 037 settingsFactory.setReaderWriter(null); 038 assertTrue("not reset to default", 039 settingsFactory.getReaderWriter() instanceof FileSystemXmlSettingsReaderWriter); 040 } 041 042 public void testCreate() throws SettingsException { 043 XmlSettingsFactory settingsFactory = new XmlSettingsFactory(); 044 settingsFactory.setReaderWriter(new StringXmlSettingsReaderWriter(null)); 045 046 Settings settings = settingsFactory.createSettings("user"); 047 assertNotNull(settings); 048 assertTrue(settings instanceof RootXmlSettings); 049 assertEquals("user", settings.getName()); 050 051 RootXmlSettings rootXmlSettings = (RootXmlSettings) settings; 052 Document document = rootXmlSettings.getDocument(); 053 assertNotNull(document); 054 } 055 }