### Question:
InputClause extends DMNElement implements HasTypeRefs,
                                                       DomainObject { @Override public List<HasTypeRef> getHasTypeRefs() { return new ArrayList<>(getNotNullHasTypeRefs(getInputExpression())); } InputClause();  InputClause(final Id id,
                       final Description description,
                       final InputClauseLiteralExpression inputExpression,
                       final InputClauseUnaryTests inputValues); InputClause copy(); @Override List<HasTypeRef> getHasTypeRefs(); String getStunnerCategory(); Set<String> getStunnerLabels(); InputClauseLiteralExpression getInputExpression(); void setInputExpression(final InputClauseLiteralExpression value); InputClauseUnaryTests getInputValues(); void setInputValues(final InputClauseUnaryTests value); @Override String getDomainObjectUUID(); @Override String getDomainObjectNameTranslationKey(); @Override boolean equals(final Object o); @Override int hashCode();  }### Answer:
@Test public void testGetHasTypeRefs() { final InputClauseLiteralExpression literalExpression = mock(InputClauseLiteralExpression.class); final HasTypeRef hasTypeRef1 = mock(HasTypeRef.class); final HasTypeRef hasTypeRef2 = mock(HasTypeRef.class); doReturn(literalExpression).when(inputClause).getInputExpression(); when(literalExpression.getHasTypeRefs()).thenReturn(asList(hasTypeRef1, hasTypeRef2)); final List<HasTypeRef> actualHasTypeRefs = inputClause.getHasTypeRefs(); final List<HasTypeRef> expectedHasTypeRefs = asList(hasTypeRef1, hasTypeRef2); assertEquals(expectedHasTypeRefs, actualHasTypeRefs); }