### Question:
AssignmentFilter extends GenericHeapObject implements Filter { public AssignmentFilter addResponseBinding(final Expression<?> target) { return this.addResponseBinding(target, null); }  AssignmentFilter addRequestBinding(final Expression<?> target); AssignmentFilter addRequestBinding(final Expression<?> target, final Expression<?> value); AssignmentFilter addRequestBinding(final Expression<Boolean> condition,
                                              final Expression<?> target,
                                              final Expression<?> value); AssignmentFilter addResponseBinding(final Expression<?> target); AssignmentFilter addResponseBinding(final Expression<?> target, final Expression<?> value); AssignmentFilter addResponseBinding(final Expression<Boolean> condition,
                                               final Expression<?> target,
                                               final Expression<?> value); @Override Promise<Response, NeverThrowsException> filter(final Context context,
                                                          final Request request,
                                                          final Handler next);  }### Answer:
@Test public void onResponse() throws Exception { AssignmentFilter filter = new AssignmentFilter(); final Expression<String> target = Expression.valueOf("${attributes.newAttr}", String.class); filter.addResponseBinding(target, Expression.valueOf("${response.status.code}", Integer.class)); AttributesContext context = new AttributesContext(new RootContext()); Chain chain = new Chain(new StaticResponseHandler(Status.OK), singletonList((Filter) filter)); chain.handle(context, new Request()).get(); assertThat(context.getAttributes().get("newAttr")).isEqualTo(200); }