コード例 #1
0
ファイル: CreateEntry.cs プロジェクト: AgFlore/vocadb
 public static Artist Artist(ArtistType artistType, int id = 0, string name = "Artist")
 {
     return(new Artist(TranslatedString.Create(name))
     {
         Id = id, ArtistType = artistType
     });
 }
コード例 #2
0
        public void SetUp()
        {
            repository        = new FakeSongListRepository();
            userWithSongList  = new User("User with songlist", "123", "*****@*****.**", PasswordHashAlgorithms.Default);
            permissionContext = new FakePermissionContext(new UserWithPermissionsContract(userWithSongList, ContentLanguagePreference.Default));

            imagePersister = new InMemoryImagePersister();
            queries        = new SongListQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, new FakeUserIconFactory());

            song1 = new Song(TranslatedString.Create("Project Diva desu."))
            {
                Id = 1
            };
            song2 = new Song(TranslatedString.Create("World is Mine"))
            {
                Id = 2
            };

            repository.Add(userWithSongList);
            repository.Add(song1, song2);

            songListContract = new SongListForEditContract {
                Name        = "Mikunopolis Setlist",
                Description = "MIKUNOPOLIS in LOS ANGELES - Hatsune Miku US debut concert held at Nokia Theatre for Anime Expo 2011 on 2nd July 2011.",
                SongLinks   = SongInListEditContracts(song1, song2)
            };
        }
コード例 #3
0
ファイル: AlbumTests.cs プロジェクト: Pyther99/vocadb
        public void SetUp()
        {
            _album = new Album(new LocalizedString("Synthesis", ContentLanguageSelection.English));

            _producer = new Artist(TranslatedString.Create("Tripshots"))
            {
                Id = 1, ArtistType = ArtistType.Producer
            };
            _vocalist = new Artist(TranslatedString.Create("Hatsune Miku"))
            {
                Id = 39, ArtistType = ArtistType.Vocaloid
            };
            _producerContract = new ArtistContract(_producer, ContentLanguagePreference.Default);
            _vocalistContract = new ArtistContract(_vocalist, ContentLanguagePreference.Default);

            _song1 = new Song(new LocalizedString("Nebula", ContentLanguageSelection.English))
            {
                Id = 2
            };
            _song1.AddArtist(_producer);

            _album.AddArtist(_producer);
            _album.AddArtist(_vocalist);

            var songInAlbum = new SongInAlbum(_song1, _album, 1, 1);

            _songInAlbumContract         = new SongInAlbumEditContract(songInAlbum, ContentLanguagePreference.Default);
            _songInAlbumContract.Artists = new[] { _producerContract };
        }
コード例 #4
0
ファイル: CreateEntry.cs プロジェクト: AgFlore/vocadb
 public static Artist Circle(int id = 0, string name = "S.C.X.")
 {
     return(new Artist(TranslatedString.Create(name ?? "S.C.X."))
     {
         Id = id, ArtistType = ArtistType.Circle
     });
 }
コード例 #5
0
ファイル: CreateEntry.cs プロジェクト: AgFlore/vocadb
 public static Artist Producer(int id = 0, string name = "Tripshots")
 {
     return(new Artist(TranslatedString.Create(name ?? "Tripshots"))
     {
         Id = id, ArtistType = ArtistType.Producer
     });
 }
コード例 #6
0
ファイル: CreateEntry.cs プロジェクト: lordofire/vocadb
 public static Artist Vocalist(int id = 0, string name = null, ArtistType artistType = ArtistType.Vocaloid)
 {
     return(new Artist(TranslatedString.Create(name ?? "Hatsune Miku"))
     {
         Id = id, ArtistType = artistType
     });
 }
コード例 #7
0
ファイル: AlbumSearchTests.cs プロジェクト: sethura/vocadb
        public void SetUp()
        {
            querySource = new QuerySourceList();

            artist = new Artist(TranslatedString.Create("XenonP"))
            {
                Id = 64
            };
            querySource.Add(artist);

            album = new Album(new LocalizedString("Synthesis", ContentLanguageSelection.English))
            {
                Id = 1, DiscType = DiscType.Album, CreateDate = new DateTime(2011, 1, 16)
            };
            AddAlbum(album);

            albumWithArtist = new Album(new LocalizedString("DIVINE", ContentLanguageSelection.English))
            {
                Id = 1010, DiscType = DiscType.Unknown, RatingAverage = 4.5, CreateDate = new DateTime(2012, 1, 15)
            };
            albumWithArtist.AddArtist(artist);
            AddAlbum(albumWithArtist);

            queryParams = new AlbumQueryParams();

            search = new Model.Service.Search.AlbumSearch.AlbumSearch(querySource, ContentLanguagePreference.Default);
        }
コード例 #8
0
        public void SetUp()
        {
            entryLinkFactory = new FakeEntryLinkFactory();
            repository       = new FakeRepository <UserMessage>();
            mailer           = new FakeUserMessageMailer();

            album    = Save(new Album(new LocalizedString("New Album", ContentLanguageSelection.English)));
            producer = Save(new Artist(TranslatedString.Create("Tripshots"))
            {
                Id = 1, ArtistType = ArtistType.Producer
            });
            vocalist = Save(new Artist(TranslatedString.Create("Hatsune Miku"))
            {
                Id = 2, ArtistType = ArtistType.Vocaloid
            });
            user = Save(new User("Miku", "123", string.Empty, PasswordHashAlgorithms.Default)
            {
                Id = 1
            });
            creator = Save(new User("Rin", "123", string.Empty, PasswordHashAlgorithms.Default)
            {
                Id = 2
            });

            Save(user.AddArtist(producer));
        }
コード例 #9
0
ファイル: CreateEntry.cs プロジェクト: AgFlore/vocadb
 public static Song Song(int id = 0, string name = "Nebula")
 {
     return(new Song(TranslatedString.Create(name ?? "Nebula"))
     {
         Id = id
     });
 }
コード例 #10
0
ファイル: SongSearchTests.cs プロジェクト: sethura/vocadb
        public void SetUp()
        {
            querySource = new QuerySourceList();

            artist = new Artist(TranslatedString.Create("Junk"))
            {
                Id = 257
            };

            song = new Song(new LocalizedString("Nebula", ContentLanguageSelection.English))
            {
                Id = 121, SongType = SongType.Original, PVServices = PVServices.Youtube, CreateDate = new DateTime(2012, 6, 1)
            };
            AddSong(song);

            songWithArtist = new Song(new LocalizedString("Crystal Tears", ContentLanguageSelection.English))
            {
                Id = 7787, FavoritedTimes = 39, CreateDate = new DateTime(2012, 1, 1)
            };
            songWithArtist.AddArtist(artist);
            AddSong(songWithArtist);

            queryParams = new SongQueryParams();

            search = new Model.Service.Search.SongSearch.SongSearch(querySource, ContentLanguagePreference.Default);
        }
コード例 #11
0
 private Artist[] GetArtists(ArtistContract[] contracts)
 {
     return(contracts
            .Select(a => a.Id == vocalist.Id ? vocalist : new Artist(TranslatedString.Create(a.Name))
     {
         Id = a.Id
     })
            .ToArray());
 }
コード例 #12
0
ファイル: SongTests.cs プロジェクト: lordofire/vocadb
 public void Setup()
 {
     artist = new Artist(TranslatedString.Create("Minato"))
     {
         Id = 1, ArtistType = ArtistType.Producer
     };
     song   = new Song(new LocalizedString("Soar", ContentLanguageSelection.English));
     lyrics = song.CreateLyrics(ContentLanguageSelection.Japanese, "Miku!", "miku");
 }
コード例 #13
0
        public void CreateEntryLink_Entry()
        {
            var artist = new Artist(TranslatedString.Create("Hatsune Miku"))
            {
                Id = 39
            };
            var result = factory.CreateEntryLink(artist);

            Assert.AreEqual("<a href=\"/Ar/39\">Hatsune Miku</a>", result, "result");
        }
コード例 #14
0
        public void CreateEntryLink_Entry()
        {
            var artist = new Artist(TranslatedString.Create("Hatsune Miku"))
            {
                Id = 39
            };
            var result = _factory.CreateEntryLink(artist);

            result.Should().Be("<a href=\"/Ar/39\">Hatsune Miku</a>", "result");
        }
コード例 #15
0
        public void CreateEntryLink_HtmlEncode()
        {
            var song = new Song(TranslatedString.Create("Sentaku <love or dead>"))
            {
                Id = 39
            };
            var result = factory.CreateEntryLink(song);

            Assert.AreEqual("<a href=\"/S/39\">Sentaku &lt;love or dead&gt;</a>", result, "result");
        }
コード例 #16
0
        public void CreateEntryLink_HtmlEncode()
        {
            var song = new Song(TranslatedString.Create("Sentaku <love or dead>"))
            {
                Id = 39
            };
            var result = _factory.CreateEntryLink(song);

            result.Should().Be("<a href=\"/S/39\">Sentaku &lt;love or dead&gt;</a>", "result");
        }
コード例 #17
0
 public void SetUp()
 {
     album = new Album(TranslatedString.Create("Synthesis"))
     {
         Id = 39
     };
     agentName        = "Rin";
     entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net");
     user             = CreateEntry.User(name: "miku");
     user2            = CreateEntry.User(name: "luka");
     repository       = new FakeUserRepository(user, user2);
 }
コード例 #18
0
ファイル: StatsController.cs プロジェクト: kateabr/vocadb
 public ActionResult UsersPerLanguage()
 {
     return(SimpleBarChart <UserKnownLanguage>(q => q
                                               .Where(u => u.CultureCode.CultureCode != null && u.CultureCode.CultureCode != string.Empty)
                                               .GroupBy(u => u.CultureCode)
                                               .ToArray()
                                               .Select(u => new StatsQueries.LocalizedValue {
         Name = TranslatedString.Create(u.Key.CultureInfo.Name),
         Value = u.Count(),
     }).AsQueryable(),
                                               "Users per language", "Users"));
 }
コード例 #19
0
ファイル: NicoHelperTests.cs プロジェクト: Shyany/vocadb
        private Artist ArtistFunc(string name)
        {
            // Note: カバー is a valid artist name.
            var artistNames = new HashSet <string> {
                "初音ミク", "鏡音リン", "巡音ルカ", "MEIKO", "Lily", "重音テト", "波音リツキレ", "カバー"
            };

            if (!artistNames.Contains(name))
            {
                return(null);
            }

            return(new Artist(TranslatedString.Create(name)));
        }
コード例 #20
0
ファイル: SongTests.cs プロジェクト: rijuntun/vocadb
 public void Setup()
 {
     artist = new Artist(TranslatedString.Create("Minato"))
     {
         Id = 1, ArtistType = ArtistType.Producer
     };
     song             = new Song(new LocalizedString("Soar", ContentLanguageSelection.English));
     lyrics           = song.CreateLyrics("Miku!", "miku", string.Empty, TranslationType.Original, "ja");
     instrumentalTag  = CreateEntry.Tag("instrumental", 1);
     changedLyricsTag = CreateEntry.Tag("changed lyrics", 2);
     specialTags      = new SpecialTags {
         Instrumental  = instrumentalTag.Id,
         ChangedLyrics = changedLyricsTag.Id
     };
 }
コード例 #21
0
        public void UpdateSongLinks()
        {
            // Create list
            _songListContract.Id = _queries.UpdateSongList(_songListContract, null);

            var newSong = new Song(TranslatedString.Create("Electric Angel"));

            _repository.Save(newSong);

            _songListContract.SongLinks = _songListContract.SongLinks.Concat(SongInListEditContracts(newSong)).ToArray();

            // Update list
            _queries.UpdateSongList(_songListContract, null);

            var songList = _repository.List <SongList>().First();

            songList.AllSongs.Count.Should().Be(3, "Number of songs");
            songList.AllSongs[2].Song.DefaultName.Should().Be("Electric Angel", "New song as expected");
        }
コード例 #22
0
ファイル: SongTests.cs プロジェクト: kurono1984/vocadb
 public void Setup()
 {
     artist = new Artist(TranslatedString.Create("Minato"))
     {
         Id = 1, ArtistType = ArtistType.Producer
     };
     vocalist = CreateEntry.Vocalist(39);
     artists.Add(artist);
     artists.Add(vocalist);
     song             = new Song(new LocalizedString("Soar", ContentLanguageSelection.English));
     lyrics           = song.CreateLyrics("Miku!", "miku", string.Empty, TranslationType.Original, "ja");
     instrumentalTag  = CreateEntry.Tag("instrumental", 1);
     changedLyricsTag = CreateEntry.Tag("changed lyrics", 2);
     specialTags      = new SpecialTags {
         Instrumental  = instrumentalTag.Id,
         ChangedLyrics = changedLyricsTag.Id
     };
     artistFunc = (contract => artists.FirstOrDefault(a => a.Id == contract.Artist?.Id));
 }
コード例 #23
0
        public void UpdateSongLinks()
        {
            // Create list
            songListContract.Id = queries.UpdateSongList(songListContract, null);

            var newSong = new Song(TranslatedString.Create("Electric Angel"));

            repository.Save(newSong);

            songListContract.SongLinks = songListContract.SongLinks.Concat(SongInListEditContracts(newSong)).ToArray();

            // Update list
            queries.UpdateSongList(songListContract, null);

            var songList = repository.List <SongList>().First();

            Assert.AreEqual(3, songList.AllSongs.Count, "Number of songs");
            Assert.AreEqual("Electric Angel", songList.AllSongs[2].Song.DefaultName, "New song as expected");
        }
コード例 #24
0
        public void SetUp()
        {
            producer = new Artist(TranslatedString.Create("Tripshots"))
            {
                ArtistType = ArtistType.Producer
            };
            vocalist = new Artist(new TranslatedString("初音ミク", "Hatsune Miku", "Hatsune Miku"))
            {
                ArtistType = ArtistType.Vocaloid
            };

            song = new Song(new LocalizedString("Nebula", ContentLanguageSelection.English));
            song.AddArtist(producer);
            song.AddArtist(vocalist);
            song.UpdateArtistString();

            album = new Album(new LocalizedString("Synthesis", ContentLanguageSelection.English));
            album.AddSong(song, trackNum: 5, discNum: 1);

            target = new AlbumSongFormatter(new FakeEntryLinkFactory());
        }
コード例 #25
0
        public void GetArtistString_Empty()
        {
            var result = ArtistHelper.GetArtistString(new IArtistWithSupport[] { }, false);

            Assert.AreEqual(CreateString(TranslatedString.Create(string.Empty)), result, "result is empty");
        }
コード例 #26
0
        public void GetArtistString_TwoProducers()
        {
            var result = ArtistHelper.GetArtistString(new[] { producer, producer2 }, false);

            Assert.AreEqual(CreateString(TranslatedString.Create(producer.Artist.DefaultName + ", " + producer2.Artist.DefaultName)), result, "artist string has both producers");
        }
コード例 #27
0
        public void GetArtistString_OneProducerAndVocalist()
        {
            var result = ArtistHelper.GetArtistString(new[] { producer, vocalist }, false);

            Assert.AreEqual(CreateString(TranslatedString.Create(producer.Artist.DefaultName + " feat. " + vocalist.Artist.DefaultName)), result, "artist string has producer and vocalist name");
        }
コード例 #28
0
ファイル: AlbumTests.cs プロジェクト: Pyther99/vocadb
 private Task <List <Artist> > GetArtists(ArtistContract[] contracts)
 {
     return(Task.FromResult(contracts
                            .Select(a => a.Id == _vocalist.Id ? _vocalist : new Artist(TranslatedString.Create(a.Name))
     {
         Id = a.Id
     })
                            .ToList()));
 }
コード例 #29
0
ファイル: ArtistHelper.cs プロジェクト: lordofire/vocadb
 private static TranslatedString GetTranslatedName(IArtistWithSupport link)
 {
     return(link.Artist != null ? link.Artist.TranslatedName : TranslatedString.Create(link.Name));
 }
コード例 #30
0
ファイル: TestDatabase.cs プロジェクト: lordofire/vocadb
        private void Seed(ISessionFactory sessionFactory)
        {
            using (var session = sessionFactory.OpenSession())
                using (var tx = session.BeginTransaction()) {
                    Producer = new Artist(TranslatedString.Create("Junk"))
                    {
                        Id = ProducerId
                    };
                    session.Save(Producer);

                    Producer2 = new Artist(TranslatedString.Create("Junky"));
                    session.Save(Producer2);

                    Producer3 = new Artist(TranslatedString.Create("Keeno"));
                    session.Save(Producer3);

                    var tag = new Tag("Electronic");
                    session.Save(tag);

                    Song = new Song(new LocalizedString("Nebula", ContentLanguageSelection.English))
                    {
                        Id = SongId, SongType = SongType.Original, FavoritedTimes = 1, PVServices = PVServices.Youtube, CreateDate = new DateTime(2012, 6, 1)
                    };
                    Song.Lyrics.Add(new LyricsForSong(Song, ContentLanguageSelection.English, "Here be lyrics", string.Empty));
                    Song.Tags.Usages.Add(new SongTagUsage(Song, tag));
                    session.Save(Song);

                    Song2 = new Song(new LocalizedString("Tears of Palm", ContentLanguageSelection.English))
                    {
                        Id = Song2Id, SongType = SongType.Original, PVServices = PVServices.Youtube, CreateDate = new DateTime(2012, 6, 1)
                    };
                    Song2.Lyrics.Add(new LyricsForSong(Song2, ContentLanguageSelection.Romaji, "Here be lyrics", string.Empty));
                    session.Save(Song2);

                    Song3 = new Song(new LocalizedString("Crystal Tears", ContentLanguageSelection.English))
                    {
                        Id = SongWithArtistId, FavoritedTimes = 39, CreateDate = new DateTime(2012, 1, 1)
                    };
                    Song3.AddArtist(Producer);
                    session.Save(Song3);

                    Song4 = new Song(new LocalizedString("Azalea", ContentLanguageSelection.English))
                    {
                        CreateDate = new DateTime(2012, 1, 1)
                    };
                    Song4.AddArtist(Producer);
                    session.Save(Song4);

                    Song5 = new Song(new LocalizedString("Melancholic", ContentLanguageSelection.English))
                    {
                        CreateDate = new DateTime(2012, 1, 1)
                    };
                    Song5.AddArtist(Producer2);
                    session.Save(Song5);

                    Song6 = new Song(new LocalizedString("Tears", ContentLanguageSelection.English))
                    {
                        CreateDate = new DateTime(2012, 1, 1)
                    };
                    Song6.AddArtist(Producer3);
                    session.Save(Song6);

                    tx.Commit();
                }
        }