コード例 #1
0
 public void TestGetGroupsAsyncRequest()
 {
     Completion = new ManualResetEvent(false);
     SoundCloudApiUnAuthenticated.Groups().GetAsync(GroupsListBuilder);
     Completion.WaitOne(TimeSpan.FromSeconds(100));
     Assert.Greater(_asyncGroupsResult.Count, 0);
 }
コード例 #2
0
 public void TestGetUsersWithSearchAsyncRequest()
 {
     Completion = new ManualResetEvent(false);
     SoundCloudApiUnAuthenticated.Users().Search("Owl").GetAsync(UserListBuilder);
     Completion.WaitOne(TimeSpan.FromSeconds(100));
     Assert.Greater(_asyncUsersResult.Count, 0);
 }
コード例 #3
0
 public void TestGetTrackAsyncRequest()
 {
     Completion = new ManualResetEvent(false);
     SoundCloudApiUnAuthenticated.Track(TrackId).GetAsync(TrackBuilder);
     Completion.WaitOne(TimeSpan.FromSeconds(100));
     Assert.AreEqual(TrackId, _asyncTrackResult.Id);
 }
コード例 #4
0
        public void TestGetTracksWithIdsRequest()
        {
            var ids = new List <int> {
                112385582, 8919569
            };

            var tracks = SoundCloudApiUnAuthenticated.Tracks().Ids(ids).Get();

            Assert.AreEqual(2, tracks.Count);
        }
コード例 #5
0
        public void TestGetTracksWithTagsRequest()
        {
            var tags = new List <string> {
                "dubstep", "garage"
            };

            var tracks = SoundCloudApiUnAuthenticated.Tracks().Tags(tags).Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #6
0
        public void TestGetTracksWithTrackTypesRequest()
        {
            var trackTypes = new List <TypeFilter> {
                TypeFilter.Demo, TypeFilter.InProgress
            };

            var tracks = SoundCloudApiUnAuthenticated.Tracks().Types(trackTypes).Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #7
0
        public void TestGetUserMultipleRequests()
        {
            var resourceList = new List <IUser>
            {
                SoundCloudApiUnAuthenticated.User(509497),
                SoundCloudApiUnAuthenticated.User(509497),
                SoundCloudApiUnAuthenticated.User(509497),
            };
            var users = SoundCloudApiUnAuthenticated.Execute(resourceList);

            Assert.AreEqual(3, users.Count);
        }
コード例 #8
0
        public void TestGetUsersMultipleRequest()
        {
            var requests = new List <IUsers>
            {
                SoundCloudApiUnAuthenticated.Users(),
                SoundCloudApiUnAuthenticated.Users(),
                SoundCloudApiUnAuthenticated.Users(),
            };
            var users = SoundCloudApiUnAuthenticated.Execute(requests);

            Assert.Greater(users.Count, 0);
        }
コード例 #9
0
        public void TestGetCommentMultipleRequests()
        {
            var resourceList = new List <IComment>
            {
                SoundCloudApiUnAuthenticated.Comment(13685794),
                SoundCloudApiUnAuthenticated.Comment(13685794),
                SoundCloudApiUnAuthenticated.Comment(13685794),
            };

            var comments = SoundCloudApiUnAuthenticated.Execute(resourceList);

            Assert.AreEqual(3, comments.Count);
        }
コード例 #10
0
        public void TestGetAppMultipleRequests()
        {
            var resourceList = new List <IApp>
            {
                SoundCloudApiUnAuthenticated.App(69118),
                SoundCloudApiUnAuthenticated.App(69118),
                SoundCloudApiUnAuthenticated.App(69118),
            };

            var app = SoundCloudApiUnAuthenticated.Execute(resourceList);

            Assert.AreEqual(3, app.Count);
        }
コード例 #11
0
        public void TestGetGroupMultipleRequests()
        {
            var resourceList = new List <IGroup>
            {
                SoundCloudApiUnAuthenticated.Group(1),
                SoundCloudApiUnAuthenticated.Group(1),
                SoundCloudApiUnAuthenticated.Group(1),
            };

            var groups = SoundCloudApiUnAuthenticated.Execute(resourceList);

            Assert.AreEqual(3, groups.Count);
        }
コード例 #12
0
        public void TestGetPlaylistMultipleRequests()
        {
            var resourceList = new List <IPlaylist>
            {
                SoundCloudApiUnAuthenticated.Playlist(1),
                SoundCloudApiUnAuthenticated.Playlist(1),
                SoundCloudApiUnAuthenticated.Playlist(1),
            };

            var users = SoundCloudApiUnAuthenticated.Execute(resourceList);

            Assert.AreEqual(3, users.Count);
        }
コード例 #13
0
        public void TestAllPropertiesGetUserRequest()
        {
            var user         = SoundCloudApiUnAuthenticated.User(509497).Get();
            var expectedUser = new User {
                Id                   = 509497,
                Permalink            = "owlandrews",
                Username             = "******",
                Uri                  = "https://api.soundcloud.com/users/509497",
                PermalinkUrl         = "https://soundcloud.com/owlandrews",
                AvatarUrl            = "https://i1.sndcdn.com/avatars-000071198254-gx9y0q-large.jpg",
                Country              = null,
                FullName             = "Owl Andrews",
                Description          = "Bristol based producer; releases on Car Crash Set and a resident for Bristol Bass. \r\n\r\nContact [email protected] for bookings.",
                City                 = "Bristol",
                DiscogsName          = null,
                Online               = true,
                TrackCount           = 1,
                PlaylistCount        = 0,
                Plan                 = "Free",
                PublicFavoritesCount = 1,
                FollowersCount       = 1,
                FollowingsCount      = 1,
            };

            Assert.AreEqual(expectedUser.AvatarUrl, user.AvatarUrl.Substring(0, user.AvatarUrl.IndexOf(".jpg", StringComparison.Ordinal) + 4));
            Assert.AreEqual(expectedUser.City, user.City);
            Assert.AreEqual(expectedUser.Country, user.Country);
            Assert.AreEqual(expectedUser.Description, user.Description);
            Assert.AreEqual(expectedUser.DiscogsName, user.DiscogsName);
            Assert.GreaterOrEqual(user.FollowersCount, expectedUser.FollowersCount);
            Assert.GreaterOrEqual(user.FollowingsCount, expectedUser.FollowingsCount);
            Assert.AreEqual(user.FullName, expectedUser.FullName);
            Assert.AreEqual(expectedUser.Id, user.Id);
            Assert.AreEqual(expectedUser.MyspaceName, user.MyspaceName);
            Assert.AreEqual(expectedUser.Permalink, user.Permalink);
            Assert.AreEqual(expectedUser.Plan, user.Plan);
            Assert.AreEqual(expectedUser.PlaylistCount, user.PlaylistCount);
            Assert.GreaterOrEqual(user.PublicFavoritesCount, expectedUser.PublicFavoritesCount);
            Assert.GreaterOrEqual(user.TrackCount, expectedUser.TrackCount);
            Assert.AreEqual(user.Username, expectedUser.Username);
            Assert.True(new UserComparer().Equals(expectedUser, user));
        }
コード例 #14
0
        public void TestGetTracksWithAllFiltersRequest()
        {
            var tags = new List <string> {
                "dubstep", "garage", "house"
            };

            var tracks = SoundCloudApiUnAuthenticated.Tracks()
                         .Tags(tags)
                         .Search("Owl")
                         .Filter(Filter.streamable)
                         .License(LicenseFilter.ToShare)
                         .BpmFrom(60)
                         .BpmTo(160)
                         .DurationFrom(1000)
                         .DurationTo(120000)
                         .CreatedFrom(new DateTime(2010, 1, 1))
                         .CreatedTo(new DateTime(2013, 5, 1))
                         .Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #15
0
        public void TestGetPlaylistHasCorrectNumberOfTracksRequest()
        {
            var playlist = SoundCloudApiUnAuthenticated.Playlist(1).Get();

            Assert.AreEqual(playlist.TrackCount, playlist.Tracks.Count);
        }
コード例 #16
0
        public void TestGetPlaylistRequest()
        {
            var playlist = SoundCloudApiUnAuthenticated.Playlist(1).Get();

            Assert.AreEqual(1, playlist.Id);
        }
コード例 #17
0
        public void TestGetGroupsWithSearchRequest()
        {
            var groups = SoundCloudApiUnAuthenticated.Groups().Search("Owl").Get();

            Assert.Greater(groups.Count, 0);
        }
コード例 #18
0
        public void TestGetTracksWithDurationToRequest()
        {
            var tracks = SoundCloudApiUnAuthenticated.Tracks().BpmTo(60000).Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #19
0
        public void TestGetTracksWithGenresRequest()
        {
            var tracks = SoundCloudApiUnAuthenticated.Tracks().Genres("dubstep").Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #20
0
        public void TestGetTracksWithFilterRequest()
        {
            var tracks = SoundCloudApiUnAuthenticated.Tracks().Filter(Filter.downloadable).Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #21
0
        public void TestGetTracksWithLicenseRequest()
        {
            var tracks = SoundCloudApiUnAuthenticated.Tracks().License(LicenseFilter.ToShare).Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #22
0
        public void TestGetTrackAllPropertiesRequest()
        {
            var track         = SoundCloudApiUnAuthenticated.Track(TrackId).Get();
            var expectedTrack = new Track
            {
                Id                  = TrackId,
                CreatedAt           = new DateTime(2010, 01, 17, 15, 21, 17),
                UserId              = 509497,
                Duration            = 284158,
                Commentable         = true,
                State               = "finished",
                OriginalContentSize = 50132660,
                Sharing             = "public",
                TagList             = String.Empty,
                Permalink           = "lost-in-kakariko",
                Streamable          = true,
                EmbeddableBy        = "all",
                Downloadable        = false,
                PurchaseUrl         = "http://www.junodownload.com/products/1554271-02.htm",
                LabelId             = 4804,
                Genre               = "Future Garage",
                Title               = "Lost in Kakariko",
                Description         = "Car Crash Set (C/C/S2009)",
                TrackType           = "original",
                Bpm                 = 141.0f,
                Isrc                = String.Empty,
                KeySignature        = String.Empty,
                LabelName           = String.Empty,
                Release             = String.Empty,
                OriginalFormat      = "wav",
                License             = "all-rights-reserved",
                Uri                 = "http://api.soundcloud.com/tracks/1379060",
                User                = new User
                {
                    Id           = 509497,
                    Permalink    = "owlandrews",
                    Username     = "******",
                    Uri          = "http://api.soundcloud.com/users/509497",
                    PermalinkUrl = "http://soundcloud.com/owlandrews",
                    AvatarUrl    = "http://i1.sndcdn.com/avatars-000016346611-rvk5pn-large.jpg"
                },
                Label = new User
                {
                    Id           = 4804,
                    Permalink    = "carcrashset",
                    Username     = "******",
                    Uri          = "http://api.soundcloud.com/users/4804",
                    PermalinkUrl = "http://soundcloud.com/carcrashset",
                    AvatarUrl    = "http://i1.sndcdn.com/avatars-000000176052-e69d19-large.jpg"
                },
                PermalinkUrl     = "http://soundcloud.com/owlmusic/lost-in-kakariko",
                ArtworkUrl       = "http://i1.sndcdn.com/artworks-000001070867-60u1mw-large.jpg",
                WaveformUrl      = "http://w1.sndcdn.com/0PhxMYJBKnps_m.png",
                StreamUrl        = "http://api.soundcloud.com/tracks/1379060/stream",
                PlaybackCount    = 1,
                DownloadCount    = 0,
                FavoritingsCount = 1,
                CommentCount     = 1,
                AttachmentsUri   = "http://api.soundcloud.com/tracks/1379060/attachments"
            };

            Assert.GreaterOrEqual(track.PlaybackCount, expectedTrack.PlaybackCount);
            Assert.GreaterOrEqual(track.FavoritingsCount, expectedTrack.FavoritingsCount);
            Assert.GreaterOrEqual(track.CommentCount, expectedTrack.CommentCount);
        }
コード例 #23
0
        public void TestGetTrackRequest()
        {
            var track = SoundCloudApiUnAuthenticated.Track(TrackId).Get();

            Assert.AreEqual(TrackId, track.Id);
        }
コード例 #24
0
        public void TestGetTracksWithCreatedFromRequest()
        {
            var tracks = SoundCloudApiUnAuthenticated.Tracks().CreatedFrom(new DateTime(2010, 1, 1)).Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #25
0
        public void TestGetGroupRequest()
        {
            var group = SoundCloudApiUnAuthenticated.Group(1).Get();

            Assert.AreEqual(1, group.Id);
        }
コード例 #26
0
        public void TestGetTracksWithSearchRequest()
        {
            var tracks = SoundCloudApiUnAuthenticated.Tracks().Search("Owl").Get();

            Assert.Greater(tracks.Count, 0);
        }
コード例 #27
0
        public void TestGetUsersWithSearchRequest()
        {
            var user = SoundCloudApiUnAuthenticated.Users().Search("Owl").Get();

            Assert.Greater(user.Count, 0);
        }
コード例 #28
0
        public void TestGetUserRequest()
        {
            var user = SoundCloudApiUnAuthenticated.User(509497).Get();

            Assert.AreEqual(509497, user.Id);
        }
コード例 #29
0
        public void TestGetAppRequest()
        {
            var app = SoundCloudApiUnAuthenticated.App(69118).Get();

            Assert.AreEqual(69118, app.Id);
        }
コード例 #30
0
        public void TestGetTracksWithBpmFromRequest()
        {
            var tracks = SoundCloudApiUnAuthenticated.Tracks().BpmFrom(120).Get();

            Assert.Greater(tracks.Count, 0);
        }