Implements the database

This commit is contained in:
2016-01-21 20:24:36 +01:00
parent 40e1e55215
commit 4a18666fe2
5 changed files with 109 additions and 21 deletions

View File

@@ -1,7 +1,9 @@
package main
import (
"log"
"path/filepath"
"time"
. "gopkg.in/check.v1"
)
@@ -13,10 +15,7 @@ type AlbumDatabaseSuite struct {
var _ = Suite(&AlbumDatabaseSuite{})
func (s *AlbumDatabaseSuite) SetUpSuite(c *C) {
var err error
s.db, err = OpenAlbumDatabase(filepath.Join(c.MkDir(), "satdb.bar.satellite/db"))
c.Assert(err, IsNil)
s.db = OpenAlbumDatabase(filepath.Join(c.MkDir(), "satdb.bar.satellite/db"))
for _, a := range albumsDataTest {
c.Assert(s.db.AddOrUpdate(&a), IsNil)
}
@@ -43,11 +42,15 @@ func (s *AlbumDatabaseSuite) TestCanGet(c *C) {
func (s *AlbumDatabaseSuite) TestCanSort(c *C) {
// here
data := []AlbumID{}
start := time.Now()
data := []AlbumID{160366, 58595, 15875, 9935, 84448, 46005, 19762, 164, 52100, 8179, 44989, 32043, 22737, 754}
sorted, err := s.db.ByPurchaseDate()
log.Printf("sorting took %s", time.Since(start))
c.Assert(err, IsNil)
c.Assert(len(sorted), Equals, len(data))
for i, a := range sorted {
c.Check(a, Equals, data[i])
c.Check(a, Equals, data[i], Commentf("expected %d", a))
}
}