code: def test_retriever_valid_run(self, mock_docs):
      ds = InMemoryDocumentStore()
      ds.write_documents(mock_docs)
  
      retriever = InMemoryBM25Retriever(ds, top_k=5)
      result = retriever.run(query="PHP")
  
      assert "documents" in result
      assert len(result["documents"]) == 1
      assert (
          result["documents"][0].content
          == "PHP is a popular programming language"
      )
  
imports: from typing import Dict, Any
  import pytest
  from haystack import Pipeline, DeserializationError
  from haystack.testing.factory import document_store_class
  from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
  from haystack.dataclasses import Document
  from haystack.document_stores.in_memory import InMemoryDocumentStore
label_desc: Use image node_id 10 for calling the TestMemoryBM25Retriever obj's underlying member method code with example usage: obj.test_retriever_valid_run(mock_docs) without return types