diff --git a/core/modules/system/tests/src/Kernel/System/FloodTest.php b/core/modules/system/tests/src/Kernel/System/FloodTest.php
index 76565300f1080de38527d7a8043542f9b4224717..97b78aa974e644f9aa5a111e880890fdeeb94c98 100644
--- a/core/modules/system/tests/src/Kernel/System/FloodTest.php
+++ b/core/modules/system/tests/src/Kernel/System/FloodTest.php
@@ -46,6 +46,46 @@ public function testCleanUp() {
     $this->assertFalse($flood->isAllowed($name, $threshold));
   }
 
+  /**
+   * Tests flood control memory backend.
+   */
+  public function testMemoryBackend() {
+    $threshold = 1;
+    $window_expired = -1;
+    $name = 'flood_test_cleanup';
+
+    $request_stack = \Drupal::service('request_stack');
+    $flood = new MemoryBackend($request_stack);
+    $this->assertTrue($flood->isAllowed($name, $threshold));
+    // Register expired event.
+    $flood->register($name, $window_expired);
+    // Verify event is not allowed.
+    $this->assertFalse($flood->isAllowed($name, $threshold));
+    // Run cron and verify event is now allowed.
+    $flood->garbageCollection();
+    $this->assertTrue($flood->isAllowed($name, $threshold));
+
+    // Register unexpired event.
+    $flood->register($name);
+    // Verify event is not allowed.
+    $this->assertFalse($flood->isAllowed($name, $threshold));
+    // Run cron and verify event is still not allowed.
+    $flood->garbageCollection();
+    $this->assertFalse($flood->isAllowed($name, $threshold));
+  }
+
+  /**
+   * Tests memory backend records events to the nearest microsecond.
+   */
+  public function testMemoryBackendThreshold() {
+    $request_stack = \Drupal::service('request_stack');
+    $flood = new MemoryBackend($request_stack);
+    $flood->register('new event');
+    $this->assertTrue($flood->isAllowed('new event', '2'));
+    $flood->register('new event');
+    $this->assertFalse($flood->isAllowed('new event', '2'));
+  }
+
   /**
    * Tests flood control database backend.
    */
diff --git a/core/tests/Drupal/Tests/Core/Flood/MemoryBackendTest.php b/core/tests/Drupal/Tests/Core/Flood/MemoryBackendTest.php
deleted file mode 100644
index 6be982db837b4fd004eeea7bcc3e097d895d436b..0000000000000000000000000000000000000000
--- a/core/tests/Drupal/Tests/Core/Flood/MemoryBackendTest.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-namespace Drupal\Tests\Core\Flood;
-
-use Drupal\Core\Flood\MemoryBackend;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpFoundation\Request;
-use Drupal\Tests\UnitTestCase;
-
-/**
- * Tests the memory flood implementation.
- *
- * @group flood
- * @coversDefaultClass \Drupal\Core\Flood\MemoryBackend
- */
-class MemoryBackendTest extends UnitTestCase {
-
-  /**
-   * The tested memory flood backend.
-   *
-   * @var \Drupal\Core\Flood\MemoryBackend
-   */
-  protected $flood;
-
-  protected function setUp(): void {
-    $request = new RequestStack();
-    $request_mock = $this->getMockBuilder(Request::class)
-      ->onlyMethods(['getClientIp'])
-      ->getMock();
-    $request->push($request_mock);
-    $this->flood = new MemoryBackend($request);
-  }
-
-  /**
-   * Tests an allowed flood event.
-   */
-  public function testAllowedProceeding() {
-    $threshold = 2;
-    $window_expired = -1;
-
-    $this->flood->register('test_event', $window_expired);
-    $this->assertTrue($this->flood->isAllowed('test_event', $threshold));
-  }
-
-  /**
-   * Tests a flood event with more than the allowed calls.
-   */
-  public function testNotAllowedProceeding() {
-    $threshold = 1;
-    $window_expired = -1;
-
-    // Register the event twice, so it is not allowed to proceed.
-    $this->flood->register('test_event', $window_expired);
-    $this->flood->register('test_event', $window_expired, 1);
-
-    $this->assertFalse($this->flood->isAllowed('test_event', $threshold));
-  }
-
-  /**
-   * Tests a flood event with expiring, so cron will allow to proceed.
-   *
-   * @medium
-   */
-  public function testExpiring() {
-    $threshold = 1;
-    $window_expired = -1;
-
-    $this->flood->register('test_event', $window_expired);
-    usleep(2);
-    $this->flood->register('test_event', $window_expired);
-
-    $this->assertFalse($this->flood->isAllowed('test_event', $threshold));
-
-    // "Run cron", which clears the flood data and verify event is now allowed.
-    $this->flood->garbageCollection();
-    $this->assertTrue($this->flood->isAllowed('test_event', $threshold));
-  }
-
-  /**
-   * Tests a flood event with no expiring, so cron will not allow to proceed.
-   */
-  public function testNotExpiring() {
-    $threshold = 2;
-
-    $this->flood->register('test_event', 1);
-    usleep(3);
-    $this->flood->register('test_event', 1);
-
-    $this->assertFalse($this->flood->isAllowed('test_event', $threshold));
-
-    // "Run cron", which clears the flood data and verify event is not allowed.
-    $this->flood->garbageCollection();
-    $this->assertFalse($this->flood->isAllowed('test_event', $threshold));
-  }
-
-  /**
-   * Tests memory backend records events to the nearest microsecond.
-   */
-  public function testMemoryBackendThreshold() {
-    $this->flood->register('new event');
-    $this->assertTrue($this->flood->isAllowed('new event', '2'));
-    $this->flood->register('new event');
-    $this->assertFalse($this->flood->isAllowed('new event', '2'));
-  }
-
-}