Return HumanName getText() preferentially in getNameAsSingleString (#1355)

* Failing tests

* Return getText if it exists in HumanName
This commit is contained in:
dotasek 2023-07-18 12:22:53 -04:00 committed by GitHub
parent d95af6d968
commit 2f11af9bfa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 108 additions and 33 deletions

View File

@ -655,13 +655,18 @@ public class HumanName extends Type implements ICompositeType {
} }
/** /**
* Returns all of the components of the name (prefix, given, family, suffix) as a single string with a single spaced * <p>Returns the {@link #getTextElement() text} element value if it is not null.</p>
* string separating each part.
* <p> * <p>If the {@link #getTextElement() text} element value is null, returns all the components of the name (prefix,
* If none of the parts are populated, returns the {@link #getTextElement() text} element value instead. * given, family, suffix) as a single string with a single spaced string separating each part. </p>
* </p> *
* @return the human name as a single string
*/ */
public String getNameAsSingleString() { public String getNameAsSingleString() {
if (hasText()) {
return getText().toString();
}
List<StringType> nameParts = new ArrayList<StringType>(); List<StringType> nameParts = new ArrayList<StringType>();
nameParts.addAll(getPrefix()); nameParts.addAll(getPrefix());
nameParts.addAll(getGiven()); nameParts.addAll(getGiven());

View File

@ -25,4 +25,14 @@ public class HumanNameTest {
String actual = humanName.getNameAsSingleString(); String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual); assertEquals(expected, actual);
} }
@Test
public void getNameAsSingleStringPreferText() {
final String expected = "dummy value";
HumanName humanName = new HumanName()
.setTextElement(new StringType(expected)).addFamily("wrong value");
String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual);
}
} }

View File

@ -668,13 +668,18 @@ public class HumanName extends Type implements ICompositeType {
} }
/** /**
* Returns all of the components of the name (prefix, given, family, suffix) as a single string with a single spaced * <p>Returns the {@link #getTextElement() text} element value if it is not null.</p>
* string separating each part.
* <p> * <p>If the {@link #getTextElement() text} element value is null, returns all the components of the name (prefix,
* If none of the parts are populated, returns the {@link #getTextElement() text} element value instead. * given, family, suffix) as a single string with a single spaced string separating each part. </p>
* </p> *
* @return the human name as a single string
*/ */
public String getNameAsSingleString() { public String getNameAsSingleString() {
if (hasText()) {
return getText().toString();
}
List<StringType> nameParts = new ArrayList<StringType>(); List<StringType> nameParts = new ArrayList<StringType>();
nameParts.addAll(getPrefix()); nameParts.addAll(getPrefix());
nameParts.addAll(getGiven()); nameParts.addAll(getGiven());

View File

@ -25,4 +25,14 @@ public class HumanNameTest {
String actual = humanName.getNameAsSingleString(); String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual); assertEquals(expected, actual);
} }
@Test
public void getNameAsSingleStringPreferText() {
final String expected = "dummy value";
HumanName humanName = new HumanName()
.setTextElement(new StringType(expected)).setFamily("wrong value");
String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual);
}
} }

View File

@ -668,13 +668,18 @@ public class HumanName extends Type implements ICompositeType {
} }
/** /**
* Returns all of the components of the name (prefix, given, family, suffix) as a single string with a single spaced * <p>Returns the {@link #getTextElement() text} element value if it is not null.</p>
* string separating each part.
* <p> * <p>If the {@link #getTextElement() text} element value is null, returns all the components of the name (prefix,
* If none of the parts are populated, returns the {@link #getTextElement() text} element value instead. * given, family, suffix) as a single string with a single spaced string separating each part. </p>
* </p> *
* @return the human name as a single string
*/ */
public String getNameAsSingleString() { public String getNameAsSingleString() {
if (hasText()) {
return getText().toString();
}
List<StringType> nameParts = new ArrayList<StringType>(); List<StringType> nameParts = new ArrayList<StringType>();
nameParts.addAll(getPrefix()); nameParts.addAll(getPrefix());
nameParts.addAll(getGiven()); nameParts.addAll(getGiven());

View File

@ -27,4 +27,14 @@ public class HumanNameTest {
String actual = humanName.getNameAsSingleString(); String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual); assertEquals(expected, actual);
} }
@Test
public void getNameAsSingleStringPreferText() {
final String expected = "dummy value";
HumanName humanName = new HumanName()
.setTextElement(new StringType(expected)).setFamily("wrong value");
String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual);
}
} }

View File

@ -890,13 +890,18 @@ public class HumanName extends DataType implements ICompositeType {
} }
/** /**
* Returns all of the components of the name (prefix, given, family, suffix) as a single string with a single spaced * <p>Returns the {@link #getTextElement() text} element value if it is not null.</p>
* string separating each part.
* <p> * <p>If the {@link #getTextElement() text} element value is null, returns all the components of the name (prefix,
* If none of the parts are populated, returns the {@link #getTextElement() text} element value instead. * given, family, suffix) as a single string with a single spaced string separating each part. </p>
* </p> *
* @return the human name as a single string
*/ */
public String getNameAsSingleString() { public String getNameAsSingleString() {
if (hasText()) {
return getText().toString();
}
List<StringType> nameParts = new ArrayList<StringType>(); List<StringType> nameParts = new ArrayList<StringType>();
nameParts.addAll(getPrefix()); nameParts.addAll(getPrefix());
nameParts.addAll(getGiven()); nameParts.addAll(getGiven());

View File

@ -25,4 +25,14 @@ public class HumanNameTest {
String actual = humanName.getNameAsSingleString(); String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual); assertEquals(expected, actual);
} }
@Test
public void getNameAsSingleStringPreferText() {
final String expected = "dummy value";
HumanName humanName = new HumanName()
.setTextElement(new StringType(expected)).setFamily("wrong value");
String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual);
}
} }

View File

@ -890,13 +890,18 @@ public class HumanName extends DataType implements ICompositeType {
} }
/** /**
* Returns all of the components of the name (prefix, given, family, suffix) as a single string with a single spaced * <p>Returns the {@link #getTextElement() text} element value if it is not null.</p>
* string separating each part.
* <p> * <p>If the {@link #getTextElement() text} element value is null, returns all the components of the name (prefix,
* If none of the parts are populated, returns the {@link #getTextElement() text} element value instead. * given, family, suffix) as a single string with a single spaced string separating each part. </p>
* </p> *
* @return the human name as a single string
*/ */
public String getNameAsSingleString() { public String getNameAsSingleString() {
if (hasText()) {
return getText().toString();
}
List<StringType> nameParts = new ArrayList<StringType>(); List<StringType> nameParts = new ArrayList<StringType>();
nameParts.addAll(getPrefix()); nameParts.addAll(getPrefix());
nameParts.addAll(getGiven()); nameParts.addAll(getGiven());

View File

@ -27,4 +27,14 @@ public class HumanNameTest {
String actual = humanName.getNameAsSingleString(); String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual); assertEquals(expected, actual);
} }
@Test
public void getNameAsSingleStringPreferText() {
final String expected = "dummy value";
HumanName humanName = new HumanName()
.setTextElement(new StringType(expected)).setFamily("wrong value");
String actual = humanName.getNameAsSingleString();
assertEquals(expected, actual);
}
} }