message: Ported concurrency test to type safe versions.
diff: @@ -62,3 +62,41 @@ TEST(ComponentBufferTest, ForRangeSupportWorksCorrectly)
  EXPECT_EQ(intComponent, 10);
  }
  }
  +
  +TEST(ComponentBufferTest, ConcurrentAccessWorksCorrectly)
  +{
  + auto container = ComponentBuffer<int32_t>(2, -1);
  +
  + for (size_t i = 0; i < 2000; ++i)
  + {
  + container.PushComponentUpdateInstruction(0, i, 10);
  + }
  +
  + container.PrepComponentBufferForFrame(std::vector<EntityId>{});
  +
  + std::thread threadOne([&]()
  + {
  + for (size_t i = 0; i < 2000; ++i)
  + {
  + container.PushComponentUpdateInstruction(0, i, 10);
  + }
  + });
  +
  + std::thread threadTwo([&]()
  + {
  + for (size_t i = 0; i < 2000; ++i)
  + {
  + container.PushComponentUpdateInstruction(1, i, 10);
  + }
  + });
  +
  + threadOne.join();
  + threadTwo.join();
  +
  + container.PrepComponentBufferForFrame(std::vector<EntityId>{});
  +
  + for (auto [entity, intComponent] : container)
  + {
  + EXPECT_EQ(intComponent, 30);
  + }
  +}
  