### Question:
SimpleDynamoAttributeVisitor implements DynamoAttributeVisitor<R, P> { protected R defaultAction(DynamoAttribute attribute, P arg) { return defaultValue; } SimpleDynamoAttributeVisitor(); @Override R visit(DynamoAttribute attribute, P arg); @Override R visitBinary(BinaryDynamoAttribute binary, P arg); @Override R visitBinarySet(BinarySetDynamoAttribute binarySet, P arg); @Override R visitBoolean(BooleanDynamoAttribute bool, P arg); @Override R visitList(ListDynamoAttribute list, P arg); @Override R visitDocument(DocumentDynamoAttribute document, P arg); @Override R visitMap(MapDynamoAttribute map, P arg); @Override R visitNumber(NumberDynamoAttribute number, P arg); @Override R visitNumberSet(NumberSetDynamoAttribute numberSet, P arg); @Override R visitNull(NullDynamoAttribute nil, P arg); @Override R visitString(StringDynamoAttribute string, P arg); @Override R visitStringSet(StringSetDynamoAttribute stringSet, P arg);  }### Answer:
@Test void defaultAction_defaultCtor_returnsNull() { Object defaultValue = new SimpleDynamoAttributeVisitor<>().defaultAction(dynamoAttributeMock, ARG); assertThat(defaultValue).isNull(); }
@Test void defaultAction_defaultInitialized_returnsDefaultValue() { Object defaultValue = classUnderTestSpy.defaultAction(dynamoAttributeMock, ARG); assertThat(defaultValue).isEqualTo(DEFAULT_VALUE).isSameAs(DEFAULT_VALUE); }