@@ -22,6 +22,7 @@ class FormTest: XCTestCase {
22
22
let mockTitleObservable = testScheduler. createHotObservable ( [ Recorded . next ( 4 , " ::a title:: " ) ] )
23
23
let mockArtistObservable = testScheduler. createHotObservable ( [ Recorded . next ( 5 , " ::an artist:: " ) ] )
24
24
let mockAlbumObservable = testScheduler. createHotObservable ( [ Recorded . next ( 10 , " ::an album:: " ) ] )
25
+ let mockAlbumArtistObservable = testScheduler. createHotObservable ( [ Recorded . next ( 12 , " ::an album artist:: " ) ] )
25
26
let mockYearObservable = testScheduler. createHotObservable ( [ Recorded . next ( 15 , " ::an year:: " ) ] )
26
27
let mockTrackPositionObservable = testScheduler. createHotObservable ( [ Recorded . next ( 20 , " 1 " ) ] )
27
28
let mockTotalTracksObservable = testScheduler. createHotObservable ( [ Recorded . next ( 20 , " 10 " ) ] )
@@ -38,6 +39,7 @@ class FormTest: XCTestCase {
38
39
mockTitleObservable. bind ( to: form. basicSongFields. title) . disposed ( by: disposeBag)
39
40
mockArtistObservable. bind ( to: form. basicSongFields. artist) . disposed ( by: disposeBag)
40
41
mockAlbumObservable. bind ( to: form. basicSongFields. album) . disposed ( by: disposeBag)
42
+ mockAlbumArtistObservable. bind ( to: form. basicSongFields. albumArtist) . disposed ( by: disposeBag)
41
43
mockYearObservable. bind ( to: form. basicSongFields. year) . disposed ( by: disposeBag)
42
44
mockVersionObservable. bind ( to: form. versionField. version) . disposed ( by: disposeBag)
43
45
mockTrackPositionObservable. bind ( to: form. trackPositionInSetFields. trackPosition) . disposed ( by: disposeBag)
@@ -54,6 +56,7 @@ class FormTest: XCTestCase {
54
56
let expectedResult : [ ID3Tag ] = [
55
57
ID3Tag ( version: . version3,
56
58
artist: " ::an artist:: " ,
59
+ albumArtist: " ::an album artist:: " ,
57
60
album: " ::an album:: " ,
58
61
title: " ::a title:: " ,
59
62
year: " ::an year:: " ,
@@ -62,18 +65,19 @@ class FormTest: XCTestCase {
62
65
trackPosition: TrackPositionInSet ( position: 1 , totalTracks: 10 ) )
63
66
]
64
67
65
- XCTAssertEqual ( result [ 10 ] . title, expectedResult [ 0 ] . title)
66
- XCTAssertEqual ( result [ 10 ] . artist, expectedResult [ 0 ] . artist)
67
- XCTAssertEqual ( result [ 10 ] . album, expectedResult [ 0 ] . album)
68
- XCTAssertEqual ( result [ 10 ] . year, expectedResult [ 0 ] . year)
69
- XCTAssertEqual ( result [ 10 ] . properties. version, expectedResult [ 0 ] . properties. version)
70
- XCTAssertEqual ( result [ 10 ] . trackPosition? . position, expectedResult [ 0 ] . trackPosition? . position)
71
- XCTAssertEqual ( result [ 10 ] . trackPosition? . totalTracks, expectedResult [ 0 ] . trackPosition? . totalTracks)
72
- XCTAssertEqual ( result [ 10 ] . genre? . identifier, expectedResult [ 0 ] . genre? . identifier)
73
- XCTAssertEqual ( result [ 10 ] . genre? . description, expectedResult [ 0 ] . genre? . description)
74
- XCTAssertEqual ( result [ 10 ] . attachedPictures ? [ 0 ] . type, expectedResult [ 0 ] . attachedPictures ? [ 0 ] . type)
75
- XCTAssertEqual ( result [ 10 ] . attachedPictures ? [ 0 ] . format, expectedResult [ 0 ] . attachedPictures ? [ 0 ] . format)
76
- XCTAssertEqual ( result [ 10 ] . attachedPictures ? [ 0 ] . art, expectedResult [ 0 ] . attachedPictures ? [ 0 ] . art)
68
+ XCTAssertEqual ( result [ 11 ] . title, expectedResult [ 0 ] . title)
69
+ XCTAssertEqual ( result [ 11 ] . artist, expectedResult [ 0 ] . artist)
70
+ XCTAssertEqual ( result [ 11 ] . album, expectedResult [ 0 ] . album)
71
+ XCTAssertEqual ( result [ 11 ] . albumArtist, expectedResult [ 0 ] . albumArtist)
72
+ XCTAssertEqual ( result [ 11 ] . year, expectedResult [ 0 ] . year)
73
+ XCTAssertEqual ( result [ 11 ] . properties. version, expectedResult [ 0 ] . properties. version)
74
+ XCTAssertEqual ( result [ 11 ] . trackPosition? . position, expectedResult [ 0 ] . trackPosition? . position)
75
+ XCTAssertEqual ( result [ 11 ] . trackPosition? . totalTracks, expectedResult [ 0 ] . trackPosition? . totalTracks)
76
+ XCTAssertEqual ( result [ 11 ] . genre? . identifier, expectedResult [ 0 ] . genre? . identifier)
77
+ XCTAssertEqual ( result [ 11 ] . genre? . description, expectedResult [ 0 ] . genre? . description)
78
+ XCTAssertEqual ( result [ 11 ] . attachedPictures ? [ 0 ] . type, expectedResult [ 0 ] . attachedPictures ? [ 0 ] . type)
79
+ XCTAssertEqual ( result [ 11 ] . attachedPictures ? [ 0 ] . format, expectedResult [ 0 ] . attachedPictures ? [ 0 ] . format)
80
+ XCTAssertEqual ( result [ 11 ] . attachedPictures ? [ 0 ] . art, expectedResult [ 0 ] . attachedPictures ? [ 0 ] . art)
77
81
}
78
82
79
83
func testFillFields( ) {
@@ -82,6 +86,7 @@ class FormTest: XCTestCase {
82
86
let observerVersion = testScheduler. createObserver ( Int ? . self)
83
87
let observerArtist = testScheduler. createObserver ( String ? . self)
84
88
let observerAlbum = testScheduler. createObserver ( String ? . self)
89
+ let observerAlbumArtist = testScheduler. createObserver ( String ? . self)
85
90
let observerTitle = testScheduler. createObserver ( String ? . self)
86
91
let observerYear = testScheduler. createObserver ( String ? . self)
87
92
let observerGenreIdentifier = testScheduler. createObserver ( Int ? . self)
@@ -96,6 +101,7 @@ class FormTest: XCTestCase {
96
101
form. versionField. version. asObservable ( ) . subscribe ( observerVersion) . disposed ( by: disposeBag)
97
102
form. basicSongFields. artist. asObservable ( ) . subscribe ( observerArtist) . disposed ( by: disposeBag)
98
103
form. basicSongFields. album. asObservable ( ) . subscribe ( observerAlbum) . disposed ( by: disposeBag)
104
+ form. basicSongFields. albumArtist. asObservable ( ) . subscribe ( observerAlbumArtist) . disposed ( by: disposeBag)
99
105
form. basicSongFields. title. asObservable ( ) . subscribe ( observerTitle) . disposed ( by: disposeBag)
100
106
form. basicSongFields. year. asObservable ( ) . subscribe ( observerYear) . disposed ( by: disposeBag)
101
107
form. genreFields. genreIdentifier. asObservable ( ) . subscribe ( observerGenreIdentifier) . disposed ( by: disposeBag)
@@ -106,6 +112,7 @@ class FormTest: XCTestCase {
106
112
form. fillFields ( using: ID3Tag (
107
113
version: . version3,
108
114
artist: " ::an artist:: " ,
115
+ albumArtist: " ::an album artist:: " ,
109
116
album: " ::an album:: " ,
110
117
title: " ::a title:: " ,
111
118
year: " ::an year:: " ,
@@ -120,6 +127,7 @@ class FormTest: XCTestCase {
120
127
let version = observerVersion. events. map { $0. value. element! }
121
128
let artist = observerArtist. events. map { $0. value. element! }
122
129
let album = observerAlbum. events. map { $0. value. element! }
130
+ let albumArtist = observerAlbumArtist. events. map { $0. value. element! }
123
131
let title = observerTitle. events. map { $0. value. element! }
124
132
let year = observerYear. events. map { $0. value. element! }
125
133
let genreIdentifier = observerGenreIdentifier. events. map { $0. value. element! }
@@ -134,6 +142,8 @@ class FormTest: XCTestCase {
134
142
XCTAssertEqual ( artist [ 1 ] , " ::an artist:: " )
135
143
XCTAssertNil ( album [ 0 ] )
136
144
XCTAssertEqual ( album [ 1 ] , " ::an album:: " )
145
+ XCTAssertNil ( albumArtist [ 0 ] )
146
+ XCTAssertEqual ( albumArtist [ 1 ] , " ::an album artist:: " )
137
147
XCTAssertNil ( title [ 0 ] )
138
148
XCTAssertEqual ( title [ 1 ] , " ::a title:: " )
139
149
XCTAssertNil ( year [ 0 ] )
0 commit comments