test_class.file: plugins/powerup/src/test/java/edu/wpi/first/shuffleboard/plugin/powerup/FieldConfigurationTest.java
test_class.identifier: FieldConfigurationTest
test_case.body: @Test
    public void testParseFmsInfo() {
      FmsInfo info = new FmsInfo("LRL", "", 0, 0, MatchType.NONE, Alliance.BLUE, 0, ControlWord.fromBits(0));
      FieldConfiguration configuration = FieldConfiguration.parseFmsInfo(info);
      assertEquals(Configuration.RED_RIGHT, configuration.getNearSwitch());
      assertEquals(Configuration.RED_LEFT, configuration.getScale());
      assertEquals(Configuration.RED_RIGHT, configuration.getFarSwitch());
    }
test_case.class_method_signature: FieldConfigurationTest.testParseFmsInfo()
test_case.full_signature: @Test public void testParseFmsInfo()
test_case.identifier: testParseFmsInfo
test_case.invocations: fromBits parseFmsInfo assertEquals getNearSwitch assertEquals getScale assertEquals getFarSwitch
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testParseFmsInfo()
focal_class.declarator: EMPTY =
        new FieldConfiguration(Configuration.UNKNOWN, Configuration.UNKNOWN, Configuration.UNKNOWN)
focal_class.modifier: private static final
focal_class.original_string: private static final FieldConfiguration EMPTY =
        new FieldConfiguration(Configuration.UNKNOWN, Configuration.UNKNOWN, Configuration.UNKNOWN);
focal_class.type: FieldConfiguration
focal_class.var_name: EMPTY
focal_class.declarator: nearSwitch
focal_class.modifier: private final
focal_class.original_string: private final Configuration nearSwitch;
focal_class.type: Configuration
focal_class.var_name: nearSwitch
focal_class.declarator: scale
focal_class.modifier: private final
focal_class.original_string: private final Configuration scale;
focal_class.type: Configuration
focal_class.var_name: scale
focal_class.declarator: farSwitch
focal_class.modifier: private final
focal_class.original_string: private final Configuration farSwitch;
focal_class.type: Configuration
focal_class.var_name: farSwitch
focal_class.file: plugins/powerup/src/main/java/edu/wpi/first/shuffleboard/plugin/powerup/FieldConfiguration.java
focal_class.identifier: FieldConfiguration
focal_class.class_method_signature: FieldConfiguration.FieldConfiguration(Configuration nearSwitch, Configuration scale, Configuration farSwitch)
focal_class.full_signature: public  FieldConfiguration(Configuration nearSwitch, Configuration scale, Configuration farSwitch)
focal_class.identifier: FieldConfiguration
focal_class.modifiers: public
focal_class.parameters: (Configuration nearSwitch, Configuration scale, Configuration farSwitch)
focal_class.signature:  FieldConfiguration(Configuration nearSwitch, Configuration scale, Configuration farSwitch)
focal_class.class_method_signature: FieldConfiguration.parseFmsInfo(FmsInfo info)
focal_class.full_signature: public static FieldConfiguration parseFmsInfo(FmsInfo info)
focal_class.identifier: parseFmsInfo
focal_class.modifiers: public static
focal_class.parameters: (FmsInfo info)
focal_class.return: FieldConfiguration
focal_class.signature: FieldConfiguration parseFmsInfo(FmsInfo info)
focal_class.class_method_signature: FieldConfiguration.getConfig(Element element, Alliance alliance, String gameSpecificMessage)
focal_class.full_signature: @VisibleForTesting static Configuration getConfig(Element element, Alliance alliance, String gameSpecificMessage)
focal_class.identifier: getConfig
focal_class.modifiers: @VisibleForTesting static
focal_class.parameters: (Element element, Alliance alliance, String gameSpecificMessage)
focal_class.return: Configuration
focal_class.signature: Configuration getConfig(Element element, Alliance alliance, String gameSpecificMessage)
focal_class.class_method_signature: FieldConfiguration.getNearSwitch()
focal_class.full_signature: public Configuration getNearSwitch()
focal_class.identifier: getNearSwitch
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Configuration
focal_class.signature: Configuration getNearSwitch()
focal_class.class_method_signature: FieldConfiguration.getScale()
focal_class.full_signature: public Configuration getScale()
focal_class.identifier: getScale
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Configuration
focal_class.signature: Configuration getScale()
focal_class.class_method_signature: FieldConfiguration.getFarSwitch()
focal_class.full_signature: public Configuration getFarSwitch()
focal_class.identifier: getFarSwitch
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Configuration
focal_class.signature: Configuration getFarSwitch()
focal_method.body: public static FieldConfiguration parseFmsInfo(FmsInfo info) {
      Alliance alliance = info.getAlliance();
      String message = info.getGameSpecificMessage();
      if (alliance == null || message.isEmpty() || message.length() != 3) {
        return EMPTY;
      }
      return new FieldConfiguration(
          getConfig(Element.NEAR_SWITCH, alliance, message),
          getConfig(Element.SCALE, alliance, message),
          getConfig(Element.FAR_SWITCH, alliance, message)
      );
    }
focal_method.class_method_signature: FieldConfiguration.parseFmsInfo(FmsInfo info)
focal_method.full_signature: public static FieldConfiguration parseFmsInfo(FmsInfo info)
focal_method.identifier: parseFmsInfo
focal_method.invocations: getAlliance getGameSpecificMessage isEmpty length getConfig getConfig getConfig
focal_method.modifiers: public static
focal_method.parameters: (FmsInfo info)
focal_method.return: FieldConfiguration
focal_method.signature: FieldConfiguration parseFmsInfo(FmsInfo info)