Merge branch 'separations' of https://github.com/m-aXimilian/pixelarium into separations
This commit is contained in:
@@ -43,7 +43,7 @@ size_t pixelarium::resources::ImageResourcePool::SetResource(unique_ptr<Pixelari
|
|||||||
/// @param id The ID of the resource to update.
|
/// @param id The ID of the resource to update.
|
||||||
/// @param res A unique pointer to the new resource.
|
/// @param res A unique pointer to the new resource.
|
||||||
/// @return True if the resource was updated, false otherwise.
|
/// @return True if the resource was updated, false otherwise.
|
||||||
bool pixelarium::resources::ImageResourcePool::UpdateResource(size_t id, std::unique_ptr<imaging::PixelariumImage> res)
|
bool pixelarium::resources::ImageResourcePool::ModifyResource(size_t id, std::unique_ptr<imaging::PixelariumImage> res)
|
||||||
{
|
{
|
||||||
auto search{this->resources_.find(id)};
|
auto search{this->resources_.find(id)};
|
||||||
if (search == this->resources_.end()) return false;
|
if (search == this->resources_.end()) return false;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace pixelarium::resources
|
|||||||
{
|
{
|
||||||
struct IResource
|
struct IResource
|
||||||
{
|
{
|
||||||
virtual ~IResource() = 0;
|
virtual ~IResource() = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
@@ -25,7 +25,7 @@ class IResourcePool
|
|||||||
virtual ~IResourcePool() = default;
|
virtual ~IResourcePool() = default;
|
||||||
virtual std::optional<const ResT*> GetResource(size_t id) const = 0;
|
virtual std::optional<const ResT*> GetResource(size_t id) const = 0;
|
||||||
virtual size_t SetResource(std::unique_ptr<ResT> res) = 0;
|
virtual size_t SetResource(std::unique_ptr<ResT> res) = 0;
|
||||||
virtual bool UpdateResource(size_t id, std::unique_ptr<ResT> res) = 0;
|
virtual bool ModifyResource(size_t id, std::unique_ptr<ResT> res) = 0;
|
||||||
virtual bool DeleteResource(size_t id) = 0;
|
virtual bool DeleteResource(size_t id) = 0;
|
||||||
virtual void EnumerateResources(const std::function<void(size_t, const ResT&)>& func) = 0;
|
virtual void EnumerateResources(const std::function<void(size_t, const ResT&)>& func) = 0;
|
||||||
virtual size_t GetTotalSize() const = 0;
|
virtual size_t GetTotalSize() const = 0;
|
||||||
@@ -48,7 +48,7 @@ class ImageResourcePool : public IResourcePool<imaging::PixelariumImage>
|
|||||||
|
|
||||||
std::optional<const imaging::PixelariumImage*> GetResource(size_t id) const override;
|
std::optional<const imaging::PixelariumImage*> GetResource(size_t id) const override;
|
||||||
size_t SetResource(std::unique_ptr<imaging::PixelariumImage> res) override;
|
size_t SetResource(std::unique_ptr<imaging::PixelariumImage> res) override;
|
||||||
bool UpdateResource(size_t id, std::unique_ptr<imaging::PixelariumImage> res) override;
|
bool ModifyResource(size_t id, std::unique_ptr<imaging::PixelariumImage> res) override;
|
||||||
bool DeleteResource(size_t id) override;
|
bool DeleteResource(size_t id) override;
|
||||||
|
|
||||||
void EnumerateResources(const std::function<void(size_t, const imaging::PixelariumImage&)>& func) override;
|
void EnumerateResources(const std::function<void(size_t, const imaging::PixelariumImage&)>& func) override;
|
||||||
|
|||||||
@@ -43,22 +43,22 @@ TEST(ImageResourcePoolTest, GetNonExistentResourceReturnsEmptyOptional)
|
|||||||
EXPECT_FALSE(pool.GetResource(12345));
|
EXPECT_FALSE(pool.GetResource(12345));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(ImageResourcePoolTest, UpdateResourceSuccess)
|
TEST(ImageResourcePoolTest, ModifyResourceSuccess)
|
||||||
{
|
{
|
||||||
ImageResourcePool pool;
|
ImageResourcePool pool;
|
||||||
auto id = pool.SetResource(std::make_unique<DummyImage>());
|
auto id = pool.SetResource(std::make_unique<DummyImage>());
|
||||||
auto new_img = std::make_unique<DummyImage>();
|
auto new_img = std::make_unique<DummyImage>();
|
||||||
EXPECT_TRUE(pool.UpdateResource(id, std::move(new_img)));
|
EXPECT_TRUE(pool.ModifyResource(id, std::move(new_img)));
|
||||||
auto res = pool.GetResource(id);
|
auto res = pool.GetResource(id);
|
||||||
EXPECT_TRUE(res.has_value());
|
EXPECT_TRUE(res.has_value());
|
||||||
EXPECT_NE(res.value(), nullptr);
|
EXPECT_NE(res.value(), nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(ImageResourcePoolTest, UpdateResourceFail)
|
TEST(ImageResourcePoolTest, ModifyResourceFail)
|
||||||
{
|
{
|
||||||
ImageResourcePool pool;
|
ImageResourcePool pool;
|
||||||
auto new_img = std::make_unique<DummyImage>();
|
auto new_img = std::make_unique<DummyImage>();
|
||||||
EXPECT_FALSE(pool.UpdateResource(999, std::move(new_img)));
|
EXPECT_FALSE(pool.ModifyResource(999, std::move(new_img)));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(ImageResourcePoolTest, DeleteResourceSuccess)
|
TEST(ImageResourcePoolTest, DeleteResourceSuccess)
|
||||||
|
|||||||
Reference in New Issue
Block a user