1 package net.sf.openrocket.preset;
3 import static org.junit.Assert.*;
4 import net.sf.openrocket.material.Material;
5 import net.sf.openrocket.motor.Manufacturer;
6 import net.sf.openrocket.rocketcomponent.Streamer;
7 import net.sf.openrocket.util.BaseTestCase.BaseTestCase;
9 import org.junit.Before;
10 import org.junit.Test;
13 * Test application of ComponentPresets to Streamer RocketComponents through
14 * the Streamer.loadFromPreset mechanism.
16 * Test Streamer is well defined.
18 * Test calling setters on Streamer will clear the ComponentPreset.
21 public class StreamerComponentTests extends BaseTestCase {
23 ComponentPreset preset;
26 public void createPreset() throws Exception {
27 TypedPropertyMap presetspec = new TypedPropertyMap();
28 presetspec.put(ComponentPreset.TYPE, ComponentPreset.Type.STREAMER);
29 presetspec.put(ComponentPreset.MANUFACTURER, Manufacturer.getManufacturer("manufacturer"));
30 presetspec.put(ComponentPreset.PARTNO, "partno");
31 presetspec.put(ComponentPreset.LENGTH, 20.0);
32 presetspec.put(ComponentPreset.WIDTH, 2.0);
33 Material m = Material.newMaterial(Material.Type.SURFACE, "testMaterial", 2.0, true);
34 presetspec.put(ComponentPreset.MATERIAL, m);
35 preset = ComponentPresetFactory.create(presetspec);
39 public void testComponentType() {
40 Streamer cr = new Streamer();
42 assertSame(ComponentPreset.Type.STREAMER, cr.getPresetType());
46 public void testLoadFromPresetIsSane() {
47 Streamer cr = new Streamer();
49 cr.loadPreset(preset);
51 assertEquals(20.0, cr.getStripLength(), 0.0);
52 assertEquals(2.0, cr.getStripWidth(), 0.0);
53 assertEquals(2.0, cr.getLength(), 0.0);
55 assertSame(preset.get(ComponentPreset.MATERIAL), cr.getMaterial());
56 assertEquals(80.0, cr.getMass(), 0.05);
60 public void changeLengthClearsPreset() {
61 Streamer cr = new Streamer();
63 cr.loadPreset(preset);
65 cr.setStripLength(1.0);
67 assertNull(cr.getPresetComponent());
71 public void changeWidthClearsPreset() {
72 Streamer cr = new Streamer();
74 cr.loadPreset(preset);
76 cr.setStripWidth(1.0);
78 assertNull(cr.getPresetComponent());
82 public void changeMaterialClearsPreset() {
83 Streamer cr = new Streamer();
85 cr.loadPreset(preset);
87 cr.setMaterial(Material.newMaterial(Material.Type.SURFACE, "new", 1.0, true));
89 assertNull(cr.getPresetComponent());