Пример #1
0
        public void GetAlbumsAsyncTest()
        {
            using (var cursor = Substitute.For <ICursor>())
            {
                cursor.GetInt(0).Returns(13);
                cursor.GetString(1).Returns("string");
                cursor.GetInt(2).Returns(13);
                cursor.GetInt(3).Returns(7);
                cursor.GetInt(4).Returns(1999);
                cursor.GetColumnIndex("id").Returns(0);
                cursor.GetColumnIndex("name").Returns(1);
                cursor.GetColumnIndex("artist_id").Returns(2);
                cursor.GetColumnIndex("genre_id").Returns(3);
                cursor.GetColumnIndex("year").Returns(4);

                using (var dataAccess = Substitute.For <IDataAccess>())
                {
                    dataAccess.ExecuteQueryWithParametersAsync(Arg.Any <string>(), Arg.Any <List <SQLiteParameter> >()).Returns(cursor);

                    using (var artistController = new ArtistController(dataAccess))
                    {
                        var albums = artistController.GetAlbumsAsync("string").Result;
                        Assert.IsNotNull(albums);
                        Assert.IsInstanceOf <List <Album> >(albums);
                        Assert.AreEqual(1, albums.Count);
                        Assert.AreEqual(13, albums[0].Id);
                        Assert.AreEqual("string", albums[0].Name);
                        Assert.AreEqual(13, albums[0].ArtistId);
                        Assert.AreEqual(7, albums[0].GenreId);
                        Assert.AreEqual(1999, albums[0].Year);
                    }
                }
            }
        }
Пример #2
0
        public void GetAlbumsAsyncCursorNullTest()
        {
            using (var dataAccess = Substitute.For <IDataAccess>())
            {
                dataAccess.ExecuteQueryWithParametersAsync(Arg.Any <string>(), Arg.Any <List <SQLiteParameter> >()).Returns(a => (Cursor)null);

                using (var artistController = new ArtistController(dataAccess))
                {
                    Assert.ThrowsAsync <SQLiteException>(() => artistController.GetAlbumsAsync("string"));
                }
            }
        }