~musicbrainz-developers/libmusicbrainz/trunk

« back to all changes in this revision

Viewing changes to test/test_parser_releasegroup.cpp

  • Committer: adhawkins
  • Date: 2011-06-30 20:11:09 UTC
  • Revision ID: svn-v4:b0b80210-5d09-0410-99dd-b4bd03f891c0:libmusicbrainz/trunk:13186
Tags: release-4.0.0beta1
Merge libmusicbrainz4 branch back into trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include <fstream>
2
 
#include <string>
3
 
#include <iostream>
4
 
#include <cppunit/extensions/HelperMacros.h>
5
 
#include <musicbrainz3/mbxmlparser.h>
6
 
#include <musicbrainz3/metadata.h>
7
 
#include <musicbrainz3/model.h>
8
 
 
9
 
using namespace std;
10
 
using namespace MusicBrainz;
11
 
 
12
 
#include "read_file.h"
13
 
 
14
 
class ParseReleaseGroupTest : public CppUnit::TestFixture
15
 
{
16
 
        CPPUNIT_TEST_SUITE(ParseReleaseGroupTest);
17
 
        CPPUNIT_TEST(testReleaseGroupBasic);
18
 
        CPPUNIT_TEST(testReleaseGroupSearch);
19
 
        CPPUNIT_TEST_SUITE_END();
20
 
 
21
 
protected:
22
 
 
23
 
        void testReleaseGroupBasic()
24
 
        {
25
 
                Metadata *md = MbXmlParser().parse(get_file_contents("../test-data/valid/release-group/The_Cure_1.xml"));
26
 
                ReleaseGroup *releaseGroup = md->getReleaseGroup();
27
 
                CPPUNIT_ASSERT(releaseGroup);
28
 
                CPPUNIT_ASSERT_EQUAL(string("http://musicbrainz.org/release-group/c6a62b78-70f7-44f7-b159-064f6b7ba03a"), releaseGroup->getId());
29
 
                CPPUNIT_ASSERT_EQUAL(string("The Cure"), releaseGroup->getTitle());
30
 
                CPPUNIT_ASSERT_EQUAL(NS_MMD_1 + string("Album"), releaseGroup->getType());
31
 
                CPPUNIT_ASSERT_EQUAL(4, releaseGroup->getNumReleases());
32
 
                CPPUNIT_ASSERT_EQUAL(string("http://musicbrainz.org/release/d984e1a3-7281-46bb-ad8b-1478a00f2fbf"), releaseGroup->getRelease(0)->getId());
33
 
                CPPUNIT_ASSERT_EQUAL(string("http://musicbrainz.org/release/61a4ec51-fa34-4757-85d7-83231776ed14"), releaseGroup->getRelease(3)->getId());
34
 
        }
35
 
 
36
 
        void testReleaseGroupSearch()
37
 
        {
38
 
                Metadata *md = MbXmlParser().parse(get_file_contents("../test-data/valid/release-group/search_result_1.xml"));
39
 
                ReleaseGroupResultList r = md->getReleaseGroupResults();
40
 
                
41
 
                CPPUNIT_ASSERT_EQUAL(3, int(r.size()));
42
 
                CPPUNIT_ASSERT_EQUAL(100, r[0]->getScore());
43
 
                CPPUNIT_ASSERT_EQUAL(98, r[1]->getScore());
44
 
                CPPUNIT_ASSERT_EQUAL(90, r[2]->getScore());
45
 
                CPPUNIT_ASSERT_EQUAL(string("http://musicbrainz.org/release-group/963eac15-e3da-3a92-aa5c-2ec23bfb6ec2"), r[0]->getReleaseGroup()->getId());
46
 
                CPPUNIT_ASSERT_EQUAL(string("http://musicbrainz.org/release-group/0bd324a3-1c90-3bdb-8ca4-4101a580c62c"), r[1]->getReleaseGroup()->getId());
47
 
                CPPUNIT_ASSERT_EQUAL(string("http://musicbrainz.org/release-group/ea7d8352-7751-30be-8490-bb6df737f47c"), r[2]->getReleaseGroup()->getId());
48
 
        }
49
 
        
50
 
};
51
 
 
52
 
CPPUNIT_TEST_SUITE_REGISTRATION(ParseReleaseGroupTest);