コード例 #1
0
        public void SetUp()
        {
            _producer  = CreateEntry.Producer(id: 1, name: "Tripshots");
            _vocalist  = CreateEntry.Vocalist(id: 39, name: "Hatsune Miku");
            _vocalist2 = CreateEntry.Vocalist(id: 40, name: "Kagamine Rin");

            _song = CreateEntry.Song(id: 1, name: "Nebula");
            _song.LengthSeconds = 39;
            _repository         = new FakeSongRepository(_song);
            Save(_song.AddArtist(_producer));
            Save(_song.AddArtist(_vocalist));
            Save(_song.CreatePV(new PVContract {
                Id = 1, Service = PVService.Youtube, PVId = "hoLu7c2XZYU", Name = "Nebula", PVType = PVType.Original
            }));
            _repository.SaveNames(_song);

            _user         = CreateEntry.User(id: 1, name: "Miku");
            _user.GroupId = UserGroupId.Trusted;
            _user2        = CreateEntry.User(id: 2, name: "Rin", email: "*****@*****.**");
            _user3        = CreateEntry.User(id: 3, name: "Luka", email: "*****@*****.**");
            _repository.Add(_user, _user2);
            _repository.Add(_producer, _vocalist);

            _tag = new Tag("vocarock");
            _repository.Save(_tag, new Tag("vocaloud"));

            _releaseEvent = _repository.Save(CreateEntry.ReleaseEvent("Comiket 39"));

            _permissionContext = new FakePermissionContext(_user);
            _entryLinkFactory  = new EntryAnchorFactory("http://test.vocadb.net");

            _newSongContract = new CreateSongContract
            {
                SongType = SongType.Original,
                Names    = new[] {
                    new LocalizedStringContract("Resistance", ContentLanguageSelection.English)
                },
                Artists = new[] {
                    new ArtistForSongContract {
                        Artist = new ArtistContract(_producer, ContentLanguagePreference.Default)
                    },
                    new ArtistForSongContract {
                        Artist = new ArtistContract(_vocalist, ContentLanguagePreference.Default)
                    },
                },
                PVUrls = new[] { "http://test.vocadb.net/" }
            };

            _pvParser            = new FakePVParser();
            _pvParser.ResultFunc = (url, getMeta) =>
                                   VideoUrlParseResult.CreateOk(url, PVService.NicoNicoDouga, "sm393939",
                                                                getMeta ? VideoTitleParseResult.CreateSuccess("Resistance", "Tripshots", null, "testimg.jpg", 39) : VideoTitleParseResult.Empty);

            _mailer = new FakeUserMessageMailer();

            _queries = new SongQueries(_repository, _permissionContext, _entryLinkFactory, _pvParser, _mailer,
                                       new FakeLanguageDetector(), new FakeUserIconFactory(), new EnumTranslations(), new InMemoryImagePersister(), new FakeObjectCache(), new Model.Utils.Config.VdbConfigManager(), new EntrySubTypeNameFactory(),
                                       new FollowedArtistNotifier(new FakeEntryLinkFactory(), _mailer, new EnumTranslations(), new EntrySubTypeNameFactory()));
        }
コード例 #2
0
        public SongControllerTests()
        {
            permissionContext.SetLoggedUser(repository.Save(CreateEntry.User()));
            var queries = new SongQueries(repository, permissionContext, new FakeEntryLinkFactory(),
                                          new FakePVParser(), new FakeUserMessageMailer(), new FakeLanguageDetector(), new FakeUserIconFactory(), new EnumTranslations(), new InMemoryImagePersister(),
                                          new FakeObjectCache(), new VdbConfigManager(), new EntrySubTypeNameFactory(), new FakeFollowedArtistNotifier());

            controller = new SongController(null, queries, null, null);
        }
コード例 #3
0
        public void SetUp()
        {
            producer  = CreateEntry.Producer(id: 1, name: "Tripshots");
            vocalist  = CreateEntry.Vocalist(id: 39, name: "Hatsune Miku");
            vocalist2 = CreateEntry.Vocalist(id: 40, name: "Kagamine Rin");

            song = CreateEntry.Song(id: 1, name: "Nebula");
            song.LengthSeconds = 39;
            repository         = new FakeSongRepository(song);
            Save(song.AddArtist(producer));
            Save(song.AddArtist(vocalist));
            Save(song.CreatePV(new PVContract {
                Service = PVService.Youtube, PVId = "hoLu7c2XZYU", Name = "Nebula", PVType = PVType.Original
            }));

            foreach (var name in song.Names)
            {
                repository.Save(name);
            }

            user         = CreateEntry.User(id: 1, name: "Miku");
            user.GroupId = UserGroupId.Trusted;
            user2        = CreateEntry.User(id: 2, name: "Rin", email: "*****@*****.**");
            repository.Add(user, user2);
            repository.Add(producer, vocalist);

            repository.Add(new Tag("vocarock"), new Tag("vocaloud"));

            permissionContext = new FakePermissionContext(user);
            var entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net");

            newSongContract = new CreateSongContract {
                SongType = SongType.Original,
                Names    = new[] {
                    new LocalizedStringContract("Resistance", ContentLanguageSelection.English)
                },
                Artists = new[] {
                    new ArtistContract(producer, ContentLanguagePreference.Default),
                    new ArtistContract(vocalist, ContentLanguagePreference.Default),
                },
                PVUrl = "http://test.vocadb.net/"
            };

            pvParser            = new FakePVParser();
            pvParser.ResultFunc = (url, getMeta) =>
                                  VideoUrlParseResult.CreateOk(url, PVService.NicoNicoDouga, "sm393939",
                                                               getMeta ? VideoTitleParseResult.CreateSuccess("Resistance", "Tripshots", "testimg.jpg", 39) : VideoTitleParseResult.Empty);

            mailer = new FakeUserMessageMailer();

            queries = new SongQueries(repository, permissionContext, entryLinkFactory, pvParser, mailer, new FakeLanguageDetector());
        }
コード例 #4
0
ファイル: SongSearchTests.cs プロジェクト: rijuntun/vocadb
        public void SetUp()
        {
            var repo = new FakeSongRepository();

            songSearch = new Model.Service.Search.SongSearch.SongSearch(repo.CreateContext(),
                                                                        Model.Domain.Globalization.ContentLanguagePreference.Default,
                                                                        new EntryUrlParser("http://test.vocadb.net", "http://test.vocadb.net"));

            repo.Save(
                CreateEntry.Song(name: "Nebula"),
                CreateEntry.Song(name: "Anger"),
                CreateEntry.Song(name: "Anger [EXTEND RMX]")
                );
        }
コード例 #5
0
ファイル: SongQueriesTests.cs プロジェクト: kurono1984/vocadb
 private T Save <T>(T entry)
 {
     return(repository.Save(entry));
 }
コード例 #6
0
 private T Save <T>(T entry) where T : class, IDatabaseObject
 {
     return(_repository.Save(entry));
 }