public async Task All_WhereParams() { var film = new Film(ProviderName); var allRows = await(await film.AllAsync(new { rental_duration = 5 })).ToListAsync(); Assert.AreEqual(191, allRows.Count); }
public async Task All_WhereClause() { var film = new Film(ProviderName); var allRows = await(await film.AllAsync(where : "WHERE rental_duration=@0", args: 5)).ToListAsync(); Assert.AreEqual(191, allRows.Count); }
public async Task All_LimitSpecification() { var film = new Film(ProviderName); var allRows = await(await film.AllAsync(limit: 10)).ToListAsync(); Assert.AreEqual(10, allRows.Count); }
public async Task All_NoParameters() { var film = new Film(ProviderName); var allRows = await(await film.AllAsync()).ToListAsync(); Assert.AreEqual(1000, allRows.Count); }
#pragma warning disable CS1998 public async Task All_WhereParamsKey_ThrowsInvalidOperationException() { var ex = Assert.ThrowsAsync <InvalidOperationException>(async() => { var film = new Film(ProviderName); var allRows = await(await film.AllAsync(limit: 2, columns: "film_id as FILMID, description, language_id", whereParams: 5)).ToListAsync(); }); Assert.AreEqual("whereParams in AllAsync(...) should contain names and values but it contained values only. If you want to get a single item by its primary key use SingleAsync(...) instead.", ex.Message); }
public async Task All_WhereParams_Columns_Limit() { var film = new Film(ProviderName); var allRows = await(await film.AllAsync(limit: 2, columns: "film_id as FILMID, description, language_id", whereParams: new { rental_duration = 5 })).ToListAsync(); Assert.AreEqual(2, allRows.Count); var firstRow = (IDictionary <string, object>)allRows[0]; Assert.AreEqual(3, firstRow.Count); Assert.IsTrue(firstRow.ContainsKey("FILMID")); Assert.IsTrue(firstRow.ContainsKey("description")); Assert.IsTrue(firstRow.ContainsKey("language_id")); }
public async Task All_WhereClause_Columns() { var film = new Film(ProviderName); var allRows = await(await film.AllAsync(columns: "film_id as FILMID, description, language_id", where : "WHERE rental_duration=@0", args: 5)).ToListAsync(); Assert.AreEqual(191, allRows.Count); var firstRow = (IDictionary <string, object>)allRows[0]; Assert.AreEqual(3, firstRow.Count); Assert.IsTrue(firstRow.ContainsKey("FILMID")); Assert.IsTrue(firstRow.ContainsKey("description")); Assert.IsTrue(firstRow.ContainsKey("language_id")); }
public async Task All_ColumnSpecification() { // specify columns a different way to cause a cache miss (but this does cache wrt sync version) var film = new Film(ProviderName, columns: "film_id as FILMID, description, language_id"); var allRows = await(await film.AllAsync()).ToListAsync(); Assert.AreEqual(1000, allRows.Count); var firstRow = (IDictionary <string, object>)allRows[0]; Assert.AreEqual(3, firstRow.Count); Assert.IsTrue(firstRow.ContainsKey("FILMID")); Assert.IsTrue(firstRow.ContainsKey("description")); Assert.IsTrue(firstRow.ContainsKey("language_id")); }
public async Task All_WhereParams_OrderBy() { var film = new Film(ProviderName); var allRows = await(await film.AllAsync(orderBy: "film_id DESC", whereParams: new { rental_duration = 5 })).ToListAsync(); Assert.AreEqual(191, allRows.Count); int previous = int.MaxValue; foreach (var r in allRows) { int current = r.film_id; Assert.IsTrue(current <= previous); previous = current; } }
public async Task All_OrderBySpecification() { var film = new Film(ProviderName); var allRows = await(await film.AllAsync(orderBy: "rental_duration DESC")).ToListAsync(); Assert.AreEqual(1000, allRows.Count); int previous = int.MaxValue; foreach (var r in allRows) { int current = r.rental_duration; Assert.IsTrue(current <= previous); previous = current; } }
public async Task All_NoParameters_Streaming() { var film = new Film(ProviderName); var allRows = await film.AllAsync(); var count = 0; #if NETCOREAPP3_0 || NETCOREAPP3_1 await foreach (var r in allRows) { count++; Assert.AreEqual(13, ((IDictionary <string, object>)r).Count); // # of fields fetched should be 13 } #else await allRows.ForEachAsync(r => { count++; Assert.AreEqual(13, ((IDictionary <string, object>)r).Count); // # of fields fetched should be 13 }); #endif Assert.AreEqual(1000, count); }