WillsItunesProject 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +1 -0
- data/History.txt +6 -0
- data/Manifest.txt +7 -0
- data/README.txt +66 -0
- data/Rakefile +15 -0
- data/lib/wills_itunes_project.rb +114 -0
- data/test/iTunes Music Library.xml +81754 -0
- data/test/test_wills_itunes_project.rb +74 -0
- metadata +113 -0
- metadata.gz.sig +0 -0
@@ -0,0 +1,74 @@
|
|
1
|
+
#!/usr/bin/env ruby -w
|
2
|
+
|
3
|
+
$: << 'lib'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'wills_itunes_project'
|
6
|
+
|
7
|
+
SAMPLE_XML_FILE = "test/iTunes Music Library.xml" # 4019 tracks, 381 albums, 211 artists
|
8
|
+
|
9
|
+
class TestWillsItunesProject < Test::Unit::TestCase
|
10
|
+
|
11
|
+
@@itunes = WillsItunesProject.new SAMPLE_XML_FILE
|
12
|
+
# tried unsuccessfully to def startup rather than setup, so the file is parsed only once
|
13
|
+
|
14
|
+
def test_initialize
|
15
|
+
assert_instance_of Array, @@itunes.tracks
|
16
|
+
assert_instance_of WillsItunesProject::Track, @@itunes.tracks.first
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_tracks
|
20
|
+
assert_equal 2200, @@itunes.tracks.size
|
21
|
+
assert_equal true, @@itunes.titles.include?("I Ain't No Joke")
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_artists
|
25
|
+
assert_equal 174, @@itunes.artists.size
|
26
|
+
assert_equal true, @@itunes.artists.include?("Portishead")
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_album_titles
|
30
|
+
assert_equal 170, @@itunes.albums.size
|
31
|
+
assert_equal true, @@itunes.albums.include?("Dummy")
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_album_tracks
|
35
|
+
assert_equal 11, @@itunes.album_tracks("Dummy").size
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_album_playtime
|
39
|
+
assert_equal 2955238, @@itunes.album_playtime("Dummy")
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_track_playtime_all
|
43
|
+
assert_equal 535547663, @@itunes.total_playtime
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_tracks_most_played
|
47
|
+
most_played = @@itunes.most_played
|
48
|
+
assert_equal 9, most_played.first.play_count
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_top_rated
|
52
|
+
top_rated = @@itunes.top_rated
|
53
|
+
assert_equal 100, top_rated.first.rating
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_high_bit_rate
|
57
|
+
high_bit_rate = @@itunes.high_bit_rate
|
58
|
+
assert_equal 256, high_bit_rate.first.bit_rate
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_one_hit_albums
|
62
|
+
@@itunes.one_hit_albums.each do |track|
|
63
|
+
assert_not_equal 0, track.play_count
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_poser
|
68
|
+
@@itunes.poser.each do |track|
|
69
|
+
assert_equal 0, track.play_count
|
70
|
+
assert 3 <= track.rating
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
metadata
ADDED
@@ -0,0 +1,113 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: WillsItunesProject
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Will Larson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDMDCCAhigAwIBAgIBADANBgkqhkiG9w0BAQUFADA+MRAwDgYDVQQDDAd3bGFy
|
14
|
+
c29uMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZFgNjb20w
|
15
|
+
HhcNMDgxMjE4MDMxODI1WhcNMDkxMjE4MDMxODI1WjA+MRAwDgYDVQQDDAd3bGFy
|
16
|
+
c29uMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZFgNjb20w
|
17
|
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClnZ2fTJc2ahws02O7GqIF
|
18
|
+
5r9lEK4A9OOR1HTYzS/gk8OiW1E+OX+6/Goj4ysXv+CGpgRJEDqZgpmyVHIymYnq
|
19
|
+
7RGsXiolaqWFWtJbieBiHOycpcAyTSpo9jURfFitMUlcVUpemj2EbZNzIjzYOgQb
|
20
|
+
qYItOcagY7Vob3cpSe4L+SS060CeutdFwPAmhC7be43VXfbl+fLNFKIwzho4w1N7
|
21
|
+
cew9pFxhiT03yPLl98K5ZukVU3nS0DzrMWkbeCmJo/MFGhOTv+tARmuzUBb0dwWk
|
22
|
+
xynnhLJV+m8UVNguiH+EiOMVKAcb3vuSF3/lM43UbO+P+9Mkdgc2OGQg77VnKgl3
|
23
|
+
AgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRm9ZL4
|
24
|
+
SMtxMProp1+Q0usV1NjnUjANBgkqhkiG9w0BAQUFAAOCAQEAGDMPt1kMOyxg2RzI
|
25
|
+
iEThlrCcYbzkvuOM39G9S8hMYPiJbQoubLpId8gp2jchVwIY0q3yqIhls0YaHQlX
|
26
|
+
WqU0o/mLGaJA5JGy45J0QtpVAO0CxqMbKiTVjONF1l1vEAKPEn6MN5w9mzNb2bhj
|
27
|
+
P/6ghvrcDRKDtcL6FFpDB3p1hdg5XSAsZ3mEXK4aastb3s0CrEzW9IBV4amM5xqs
|
28
|
+
sG9hXf6m6q76kraTRLXjmdWiSVD0jRHSN3AkAXP89qF8Uft2BXW/C1vrqQocW/ua
|
29
|
+
AUKitaSw7CMB6KDxpH1iWILorSNPu+Pz1jgJm+UJdpsVjJbLAIUEN/fn3ic76E67
|
30
|
+
Ev3A1Q==
|
31
|
+
-----END CERTIFICATE-----
|
32
|
+
|
33
|
+
date: 2008-12-17 00:00:00 -08:00
|
34
|
+
default_executable:
|
35
|
+
dependencies:
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: nokogiri
|
38
|
+
type: :runtime
|
39
|
+
version_requirement:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: "0"
|
45
|
+
version:
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: open-uri
|
48
|
+
type: :runtime
|
49
|
+
version_requirement:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: "0"
|
55
|
+
version:
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: hoe
|
58
|
+
type: :development
|
59
|
+
version_requirement:
|
60
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 1.8.1
|
65
|
+
version:
|
66
|
+
description: Reads itunes data from itunes library XML files and provides useful information regarding the data within.
|
67
|
+
email:
|
68
|
+
- wlarson@gmail.com
|
69
|
+
executables: []
|
70
|
+
|
71
|
+
extensions: []
|
72
|
+
|
73
|
+
extra_rdoc_files:
|
74
|
+
- History.txt
|
75
|
+
- Manifest.txt
|
76
|
+
- README.txt
|
77
|
+
files:
|
78
|
+
- History.txt
|
79
|
+
- Manifest.txt
|
80
|
+
- README.txt
|
81
|
+
- Rakefile
|
82
|
+
- lib/wills_itunes_project.rb
|
83
|
+
- test/iTunes Music Library.xml
|
84
|
+
- test/test_wills_itunes_project.rb
|
85
|
+
has_rdoc: true
|
86
|
+
homepage: http://rubyforge.org/projects/uwruby/
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options:
|
89
|
+
- --main
|
90
|
+
- README.txt
|
91
|
+
require_paths:
|
92
|
+
- lib
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: "0"
|
98
|
+
version:
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: "0"
|
104
|
+
version:
|
105
|
+
requirements: []
|
106
|
+
|
107
|
+
rubyforge_project: uwruby
|
108
|
+
rubygems_version: 1.2.0
|
109
|
+
signing_key:
|
110
|
+
specification_version: 2
|
111
|
+
summary: Reads itunes data from itunes library XML files and provides useful information regarding the data within.
|
112
|
+
test_files:
|
113
|
+
- test/test_wills_itunes_project.rb
|
metadata.gz.sig
ADDED
Binary file
|