Skip to content

Commit 7943e8a

Browse files
committed
added documentation for createSpark and added tests that check that createSpark creates the right motor type
1 parent de8900b commit 7943e8a

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

src/main/java/org/carlmontrobotics/lib199/MotorControllerFactory.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ public static WPI_TalonSRX createTalon(int id) {
5757
return talon;
5858
}
5959
/**
60+
* This class returns a SparkBase, initialized to either a SparkMax or SparkFlex depending on the {@link MotorConfig#controllerType}.
61+
* Note that SparkBase lacks some of the functionality of SparkMax and SparkFlex, use {@link MotorControllerFactory#createSparkMax(int, MotorConfig...)} or {@link MotorControllerFactory#createSparkFlex(int...)} to get a SparkMax or SparkFlex object.
6062
* To use the configAccessor, use {@link MotorControllerFactory#getConfigAccessor(SparkBase)}
6163
*
6264
* @param id the port of the motor controller
@@ -66,6 +68,8 @@ public static SparkBase createSpark(int id, MotorConfig motorConfig) {
6668
return createSpark(id, motorConfig, sparkConfig(motorConfig));
6769
}
6870
/**
71+
* This class returns a SparkBase, initialized to either a SparkMax or SparkFlex depending on the {@link MotorConfig#controllerType}.
72+
* Note that SparkBase lacks some of the functionality of SparkMax and SparkFlex, use {@link MotorControllerFactory#createSparkMax(int, MotorConfig...)} or {@link MotorControllerFactory#createSparkFlex(int, MotorConfig...)} to get a SparkMax or SparkFlex object.
6973
* To use the configAccessor, use {@link MotorControllerFactory#getConfigAccessor(SparkBase)}
7074
*
7175
* @param id the port of the motor controller

src/test/java/org/carlmontrobotics/lib199/MotorControllerFactoryTest.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package org.carlmontrobotics.lib199;
22

33
import static org.junit.Assert.assertEquals;
4+
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
45

56
import org.carlmontrobotics.lib199.testUtils.ErrStreamTest;
67
import org.carlmontrobotics.lib199.testUtils.TestRules;
78
import org.junit.ClassRule;
89
import org.junit.Rule;
910
import org.junit.Test;
1011

12+
import com.revrobotics.spark.SparkFlex;
13+
import com.revrobotics.spark.SparkMax;
14+
1115
public class MotorControllerFactoryTest extends ErrStreamTest {
1216

1317
@ClassRule
@@ -23,17 +27,17 @@ public void testCreateNoErrors() throws Exception {
2327

2428
MotorControllerFactory.createSparkMax(2, MotorConfig.NEO);
2529
MotorControllerFactory.createSparkMax(3, MotorConfig.NEO, MotorControllerFactory.sparkConfig(MotorConfig.NEO));
26-
30+
2731
MotorControllerFactory.createSparkFlex(10);
2832
MotorControllerFactory.createSparkFlex(10, MotorConfig.NEO_VORTEX, MotorControllerFactory.sparkConfig(MotorConfig.NEO_VORTEX));
2933

30-
MotorControllerFactory.createSpark(20, MotorConfig.NEO);
31-
MotorControllerFactory.createSpark(21, MotorConfig.NEO_2);
32-
MotorControllerFactory.createSpark(22, MotorConfig.NEO_VORTEX);
33-
MotorControllerFactory.createSpark(23, MotorConfig.NEO, MotorControllerFactory.sparkConfig(MotorConfig.NEO_VORTEX));
34-
MotorControllerFactory.createSpark(24, MotorConfig.NEO_2, MotorControllerFactory.sparkConfig(MotorConfig.NEO_VORTEX));
35-
MotorControllerFactory.createSpark(25, MotorConfig.NEO_VORTEX, MotorControllerFactory.sparkConfig(MotorConfig.NEO_VORTEX));
36-
34+
assertInstanceOf(SparkMax.class, MotorControllerFactory.createSpark(20, MotorConfig.NEO));
35+
assertInstanceOf(SparkMax.class, MotorControllerFactory.createSpark(21, MotorConfig.NEO_2));
36+
assertInstanceOf(SparkFlex.class, MotorControllerFactory.createSpark(22, MotorConfig.NEO_VORTEX));
37+
assertInstanceOf(SparkMax.class, MotorControllerFactory.createSpark(23, MotorConfig.NEO, MotorControllerFactory.sparkConfig(MotorConfig.NEO)));
38+
assertInstanceOf(SparkMax.class, MotorControllerFactory.createSpark(24, MotorConfig.NEO_2, MotorControllerFactory.sparkConfig(MotorConfig.NEO_2)));
39+
assertInstanceOf(SparkFlex.class, MotorControllerFactory.createSpark(25, MotorConfig.NEO_VORTEX, MotorControllerFactory.sparkConfig(MotorConfig.NEO_VORTEX)));
40+
3741
assertEquals(0, errStream.toByteArray().length);
3842
}
3943

0 commit comments

Comments
 (0)