From 7ff01c3b4f1fd506567e186f793304ec38789085 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Tue, 23 May 2023 21:17:41 +0200 Subject: [PATCH] Add unit tests for tube fin mass --- .../masscalc/MassCalculatorTest.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java b/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java index c7a01a770..50b752e7d 100644 --- a/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java +++ b/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java @@ -1269,5 +1269,37 @@ public class MassCalculatorTest extends BaseTestCase { assertEquals(0.02, bodyTube.getMass(), EPSILON); assertEquals(0.02, bodyTube.getSectionMass(), EPSILON); } + + + @Test + public void testTubeFinMass() { + Rocket rocket = OpenRocketDocumentFactory.createNewRocket().getRocket(); + AxialStage stage = rocket.getStage(0); + BodyTube bodyTube = new BodyTube(); + stage.addChild(bodyTube); + TubeFinSet tubeFinSet = new TubeFinSet(); + tubeFinSet.setOuterRadius(0.04); + tubeFinSet.setThickness(0.002); + tubeFinSet.setLength(0.1); + tubeFinSet.setInstanceCount(3); + bodyTube.addChild(tubeFinSet); + + assertEquals(0.0001470265, tubeFinSet.getComponentVolume(), EPSILON); + assertEquals(0.0999780446, tubeFinSet.getComponentMass(), EPSILON); + assertEquals(0.0999780446, tubeFinSet.getMass(), EPSILON); + + tubeFinSet.setInstanceCount(4); + + assertEquals(0.000196035, tubeFinSet.getComponentVolume(), EPSILON); + assertEquals(0.133304059, tubeFinSet.getComponentMass(), EPSILON); + assertEquals(0.133304059, tubeFinSet.getMass(), EPSILON); + + tubeFinSet.setMassOverridden(true); + tubeFinSet.setOverrideMass(0.02); + + assertEquals(0.133304059, tubeFinSet.getComponentMass(), EPSILON); + assertEquals(0.02, tubeFinSet.getMass(), EPSILON); + } + }