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.LaunchLug;
7 import net.sf.openrocket.rocketcomponent.ExternalComponent.Finish;
8 import net.sf.openrocket.util.BaseTestCase.BaseTestCase;
10 import org.junit.Before;
11 import org.junit.Test;
14 * Test application of ComponentPresets to LaunchLug RocketComponents through
15 * the LaunchLug.loadFromPreset mechanism.
17 * Test LaunchLug is well defined.
19 * Test calling setters on LaunchLug will clear the ComponentPreset.
22 public class LaunchLugComponentTests extends BaseTestCase {
24 ComponentPreset preset;
27 public void createPreset() throws Exception {
28 TypedPropertyMap presetspec = new TypedPropertyMap();
29 presetspec.put(ComponentPreset.TYPE, ComponentPreset.Type.LAUNCH_LUG);
30 presetspec.put( ComponentPreset.MANUFACTURER, Manufacturer.getManufacturer("manufacturer"));
31 presetspec.put( ComponentPreset.PARTNO, "partno");
32 presetspec.put( ComponentPreset.LENGTH, 2.0);
33 presetspec.put( ComponentPreset.OUTER_DIAMETER, 2.0);
34 presetspec.put( ComponentPreset.INNER_DIAMETER, 1.0);
35 presetspec.put( ComponentPreset.MASS, 100.0);
36 preset = ComponentPresetFactory.create(presetspec);
40 public void testComponentType() {
41 LaunchLug bt = new LaunchLug();
43 assertSame( ComponentPreset.Type.LAUNCH_LUG, bt.getPresetType() );
47 public void testLoadFromPresetIsSane() {
48 LaunchLug bt = new LaunchLug();
50 bt.loadPreset(preset);
52 assertEquals( 2.0, bt.getLength(), 0.0 );
53 assertEquals( 1.0, bt.getOuterRadius(), 0.0 );
54 assertEquals( 0.5, bt.getInnerRadius(), 0.0 );
56 assertSame( preset.get( ComponentPreset.MATERIAL), bt.getMaterial() );
57 assertEquals( 100.0, bt.getMass(), 0.05);
61 public void changeLengthLeavesPreset() {
62 LaunchLug bt = new LaunchLug();
64 bt.loadPreset(preset);
68 assertSame( preset, bt.getPresetComponent() );
72 public void changeODClearsPreset() {
73 LaunchLug bt = new LaunchLug();
75 bt.loadPreset(preset);
77 bt.setOuterRadius(2.0);
79 assertNull( bt.getPresetComponent() );
83 public void changeIDClearsPreset() {
84 LaunchLug bt = new LaunchLug();
86 bt.loadPreset(preset);
88 bt.setInnerRadius(0.75);
90 assertNull( bt.getPresetComponent() );
94 public void changeThicknessClearsPreset() {
95 LaunchLug bt = new LaunchLug();
97 bt.loadPreset(preset);
101 assertNull( bt.getPresetComponent() );
105 public void changeMaterialClearsPreset() {
106 LaunchLug bt = new LaunchLug();
108 bt.loadPreset(preset);
110 bt.setMaterial( new Material.Bulk("new", 1.0, true));
112 assertNull( bt.getPresetComponent() );
116 public void changeFinishLeavesPreset() {
117 LaunchLug bt = new LaunchLug();
119 bt.loadPreset(preset);
121 bt.setFinish( Finish.POLISHED );
123 assertSame( preset, bt.getPresetComponent() );