/** * This is a unit test for the following enum : {@link * com.smartdevicelink.trace.enums.DetailLevel} */ public void testDetailLevelEnum() { // Test Values String testOff = "OFF"; String testTerse = "TERSE"; String testInvalid = "INVALID"; String testVerbose = "VERBOSE"; try { // Comparison Values DetailLevel expectedOffEnum = DetailLevel.OFF; DetailLevel expectedTerseEnum = DetailLevel.TERSE; DetailLevel expectedVerboseEnum = DetailLevel.VERBOSE; List<DetailLevel> expectedEnumList = new ArrayList<DetailLevel>(); expectedEnumList.add(DetailLevel.OFF); expectedEnumList.add(DetailLevel.TERSE); expectedEnumList.add(DetailLevel.VERBOSE); DetailLevel actualNullEnum = DetailLevel.valueForString(null); DetailLevel actualOffEnum = DetailLevel.valueForString(testOff); DetailLevel actualTerseEnum = DetailLevel.valueForString(testTerse); DetailLevel actualInvalidEnum = DetailLevel.valueForString(testInvalid); DetailLevel actualVerboseEnum = DetailLevel.valueForString(testVerbose); List<DetailLevel> actualEnumList = Arrays.asList(DetailLevel.values()); // Valid Tests assertEquals(Test.MATCH, expectedOffEnum, actualOffEnum); assertEquals(Test.MATCH, expectedTerseEnum, actualTerseEnum); assertEquals(Test.MATCH, expectedVerboseEnum, actualVerboseEnum); assertTrue( Test.ARRAY, expectedEnumList.containsAll(actualEnumList) && actualEnumList.containsAll(expectedEnumList)); // Invalid/Null Tests assertNull(Test.NULL, actualInvalidEnum); assertNull(Test.NULL, actualNullEnum); } catch (NullPointerException e) { fail("Could not retrieve value for null string, should return null."); } catch (IllegalArgumentException e) { fail("Could not retrieve value for invalid string, should return null."); } }