1 package net.sf.openrocket.preset;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNull;
5 import static org.junit.Assert.assertSame;
6 import net.sf.openrocket.material.Material;
7 import net.sf.openrocket.motor.Manufacturer;
8 import net.sf.openrocket.rocketcomponent.Streamer;
9 import net.sf.openrocket.util.BaseTestCase.BaseTestCase;
11 import org.junit.Before;
12 import org.junit.Test;
15 * Test application of ComponentPresets to Streamer RocketComponents through
16 * the Streamer.loadFromPreset mechanism.
18 * Test Streamer is well defined.
20 * Test calling setters on Streamer will clear the ComponentPreset.
23 public class StreamerComponentTests extends BaseTestCase {
25 ComponentPreset preset;
28 public void createPreset() throws Exception {
29 TypedPropertyMap presetspec = new TypedPropertyMap();
30 presetspec.put(ComponentPreset.TYPE, ComponentPreset.Type.STREAMER);
31 presetspec.put( ComponentPreset.MANUFACTURER, Manufacturer.getManufacturer("manufacturer"));
32 presetspec.put( ComponentPreset.PARTNO, "partno");
33 presetspec.put( ComponentPreset.LENGTH, 20.0);
34 presetspec.put( ComponentPreset.WIDTH, 2.0);
35 Material m = new Material.Surface("testMaterial", 2.0, true);
36 presetspec.put( ComponentPreset.MATERIAL, m);
37 preset = ComponentPresetFactory.create(presetspec);
41 public void testComponentType() {
42 Streamer cr = new Streamer();
44 assertSame( ComponentPreset.Type.STREAMER, cr.getPresetType() );
48 public void testLoadFromPresetIsSane() {
49 Streamer cr = new Streamer();
51 cr.loadPreset(preset);
53 assertEquals( 20.0, cr.getStripLength(), 0.0 );
54 assertEquals( 2.0, cr.getStripWidth(), 0.0 );
55 assertEquals( 2.0, cr.getLength(), 0.0 );
57 assertSame( preset.get( ComponentPreset.MATERIAL), cr.getMaterial() );
58 assertEquals( 80.0, cr.getMass(), 0.05);
62 public void changeLengthClearsPreset() {
63 Streamer cr = new Streamer();
65 cr.loadPreset(preset);
67 cr.setStripLength(1.0);
69 assertNull( cr.getPresetComponent() );
73 public void changeWidthClearsPreset() {
74 Streamer cr = new Streamer();
76 cr.loadPreset(preset);
78 cr.setStripWidth(1.0);
80 assertNull( cr.getPresetComponent() );
84 public void changeMaterialClearsPreset() {
85 Streamer cr = new Streamer();
87 cr.loadPreset(preset);
89 cr.setMaterial( new Material.Surface("new", 1.0, true));
91 assertNull( cr.getPresetComponent() );