anchor.diff:      }
   }
   ----
  -<1> Switch the incoming channel "orders" (expecting messages from Kafka) to in-memory.
  -<2> Switch the outgoing channel "queue" (writing messages to Kafka) to in-memory.
  +<1> Switch the incoming channel `orders` (expecting messages from Kafka) to in-memory.
  +<2> Switch the outgoing channel `beverages` (writing messages to Kafka) to in-memory.
   <3> Builds and returns a `Map` containing all the properties required to configure the application to use in-memory channels.
   <4> When the test stops, clear the `InMemoryConnector` (discard all the received and sent messages)
   
  
positive.code: 
      @Test
      void testProcessOrder() {
          InMemorySource<Order> orders = connector.source("orders"); // <2>
          InMemorySink<Beverage> queue = connector.sink("queue");    // <3>
  
          Order order = new Order();
          order.setProduct("coffee");
          order.setName("Coffee lover");
          order.setOrderId("1234");
  
          orders.send(order);  // <4>
  
          await().<List<? extends Message<Beverage>>>until(queue::received, t -> t.size() == 1); // <5>
  
          Beverage queuedBeverage = queue.received().get(0).getPayload();
          Assertions.assertEquals(Beverage.State.READY, queuedBeverage.getPreparationState());
          Assertions.assertEquals("coffee", queuedBeverage.getBeverage());
          Assertions.assertEquals("Coffee lover", queuedBeverage.getCustomer());
  
negative.code: ----
  <1> Inject the in-memory connector in your test class.
  <2> Retrieve the incoming channel (`orders`) - the channel must have been switched to in-memory in the test resource.
  <3> Retrieve the outgoing channel (`beverages`) - the channel must have been switched to in-memory in the test resource.
  <4> Use the `send` method to send a message to the `orders` channel.
  The application will process this message and send a message to `beverages` channel.
  <5> Use the `received` method on `beverages` channel to check the messages produced by the application.
  
  [IMPORTANT]
  ====
  With in-memory channels we were able to test application code processing messages without starting a Kafka broker.
  Note that different in-memory channels are independent, and switching channel connector to in-memory does not simulate message delivery between channels configured to the same Kafka topic.
  ====
  
  === Starting Kafka in a test resource
  
  