Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

package gov.va.oneconsult.seoc.api.util;

import static org.assertj.core.api.Assertions.assertThat;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import org.junit.Test;

import gov.va.oneconsult.seoc.api.controller.SeocObjectGenerator;
import gov.va.oneconsult.seoc.api.model.ClinicalService;

public class ApiUtilTest
{
@Test
public void getUTCCalendarDate_TestDay5AMUTC_Before5AMUTC() {
Date expectedDate = ApiUtil.getUTCZoneDateTime("09-04-2018 05:01:00 AM");
Date actualDay = ApiUtil.getUTCCalendarDate(ApiUtil.convertStringToDate("09-04-2018 04:01:00 AM"));
assertThat(actualDay).isEqualTo(expectedDate);
}

@Test
public void getUTCCalendarDate_TestDay5AMUTC_After5AMUTC() {
Date expectedDate = ApiUtil.getUTCZoneDateTime("09-04-2018 05:01:00 AM");
Date actualDay = ApiUtil.getUTCCalendarDate(ApiUtil.convertStringToDate("09-04-2018 07:25:00 AM"));
assertThat(actualDay).isEqualTo(expectedDate);
}

@Test
public void isValidStatus_draft() {
boolean valid = ApiUtil.isValidStatus(Constants.STATUS_INPROGRESS);
assertThat(valid).isEqualTo(true);
}

@Test
public void isValidStatus_active() {
boolean valid = ApiUtil.isValidStatus(Constants.STATUS_ACTIVE);
assertThat(valid).isEqualTo(false);
}

@Test
public void isValidStatus_datehold() {
boolean valid = ApiUtil.isValidStatus(Constants.STATUS_DATEHOLD);
assertThat(valid).isEqualTo(true);
}

@Test
public void removeTrailingCharactersHasLineFeedCarriageReturn() {
String original = "\r\nText has carriage return\r followed by line feed\n\r\n";
String expected = "\r\nText has carriage return\r followed by line feed";
String actual = ApiUtil.removeTrailingCharacters(original);
assertThat(actual).isEqualTo(expected);
}

@Test
public void removeTrailingCharactersHasLineFeed() {
String original = "Text has line feed\n";
String expected = "Text has line feed";
String actual = ApiUtil.removeTrailingCharacters(original);
assertThat(actual).isEqualTo(expected);
}

@Test
public void removeTrailingCharactersHasCarriageReturn() {
String original = "Text has carriage return\r";
String expected = "Text has carriage return";
String actual = ApiUtil.removeTrailingCharacters(original);
assertThat(actual).isEqualTo(expected);
}

@Test
public void removeTrailingCharactersNoTrailing() {
String original = "Text has no\r\n trailing characters\n.";
String expected = "Text has no\r\n trailing characters\n.";
String actual = ApiUtil.removeTrailingCharacters(original);
assertThat(actual).isEqualTo(expected);
}

@Test
public void getMscFromClinicalServices_nullDescription()
{
Set<ClinicalService> services = null;
Set<String> expectedMsc = null;

Set<String> actualMsc = ApiUtil.getMscFromClinicalServices(services);
assertThat(actualMsc).isEqualTo(expectedMsc);
}

@Test
public void getMscFromClinicalService_MixedDescriptions()
{
Set<ClinicalService> services = new HashSet<ClinicalService>();
ClinicalService csEmptyDesc = SeocObjectGenerator.getClinicalService(11, "");
ClinicalService csDescNoSeparator = SeocObjectGenerator.getClinicalService(11, "test test");
ClinicalService csDescWithSep1 = SeocObjectGenerator.getClinicalService(11, "25-test test");
ClinicalService csDescWithSep2 = SeocObjectGenerator.getClinicalService(11, "26a-test test1");
services.add(csEmptyDesc);
services.add(csDescNoSeparator);
services.add(csDescWithSep1);
services.add(csDescWithSep2);

Set<String> expectedMsc = new HashSet<String>();
expectedMsc.add("25");
expectedMsc.add("26a");

Set<String> actualMsc = ApiUtil.getMscFromClinicalServices(services);
assertThat(actualMsc).isEqualTo(expectedMsc);
}

@Test
public void removeInvalidCharacters()
{
String string = "String – Has several invalid characters, “left double quote, right double quote”, ‘left single quote, right single quote’" +
" also has different line breaks: \r \r\n \n \r\n\n" +
" also has various other control characters:" +
Character.toString((char)1) +
Character.toString((char)2) +
Character.toString((char)3) +
Character.toString((char)4) +
Character.toString((char)5) +
Character.toString((char)6) +
Character.toString((char)21) +
Character.toString((char)23) +
Character.toString((char)160);

String expectedString = "String - Has several invalid characters, \"left double quote, right double quote\", \'left single quote, right single quote\'" +
" also has different line breaks: \r\n \r\n \r\n \r\n" +
" also has various other control characters:" +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" ";

String actualString = ApiUtil.removeInvalidCharacters(string);

// Shouldn't modify the original string
assertThat(actualString).isNotEqualTo(string);
assertThat(actualString).isEqualTo(expectedString);
}
}