commit 1985eca6237fb0ff90a8a0027773b51b8530dffd
parent 782c55e67275cfb4ba1008f2f91efa89e64d83d1
Author: cfillion <cfillion@users.noreply.github.com>
Date: Thu, 26 Nov 2015 21:55:19 -0500
add a method to access versions directly by their index
Diffstat:
3 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/src/database.cpp b/src/database.cpp
@@ -80,3 +80,13 @@ void Package::addVersion(VersionPtr ver)
{
m_versions.insert(ver);
}
+
+VersionPtr Package::version(const int index) const
+{
+ auto it = m_versions.begin();
+
+ for(int i = 0; i < index; i++)
+ it++;
+
+ return *it;
+}
diff --git a/src/database.hpp b/src/database.hpp
@@ -67,6 +67,7 @@ public:
void addVersion(VersionPtr ver);
const VersionSet &versions() const { return m_versions; }
+ VersionPtr version(const int i) const;
private:
Category *m_category;
diff --git a/test/database.cpp b/test/database.cpp
@@ -171,9 +171,6 @@ TEST_CASE("package versions are sorted", M) {
pack.addVersion(make_shared<Version>("0.1"));
CHECK(pack.versions().size() == 2);
- const VersionSet &versions = pack.versions();
- auto it = versions.begin();
-
- REQUIRE(it->get()->name() == "0.1");
- REQUIRE((++it)->get()->name() == "1");
+ REQUIRE(pack.version(0)->name() == "0.1");
+ REQUIRE(pack.version(1)->name() == "1");
}