created some unit tests

This commit is contained in:
Cameron
2024-09-07 20:32:20 -05:00
parent 0082a6f219
commit 296190b79c
4 changed files with 220 additions and 0 deletions

View File

@@ -0,0 +1,87 @@
using ComiServ.Models;
using Microsoft.EntityFrameworkCore.Metadata.Conventions;
using System.CodeDom;
using System.Security.Policy;
namespace ComiServUnitTest;
[TestClass]
public class PaginatedTests
{
[TestMethod]
public void PageUnderUnderflow()
{
const int pageNum = 1;
const int pageSize = 20;
const int dataSize = 30;
var data = Enumerable.Range(0, dataSize).ToArray();
var page = new Paginated<int>(pageSize, pageNum, data);
Assert.IsTrue(page.Last);
Assert.AreEqual(pageSize, page.Max);
Assert.AreEqual(pageNum, page.Page);
Assert.AreEqual(10, page.Count);
Assert.AreEqual(page.Items.Count, page.Count);
Assert.AreEqual(20, page.Items.First());
Assert.AreEqual(data.Last(), page.Items.Last());
}
[TestMethod]
public void PageOverflow()
{
const int pageNum = 2;
const int pageSize = 30;
const int dataSize = 150;
var data = Enumerable.Range(0, dataSize).ToArray();
var page = new Paginated<int>(pageSize, pageNum, data);
Assert.IsFalse(page.Last);
Assert.AreEqual(pageSize, page.Max);
Assert.AreEqual(pageNum, page.Page);
Assert.AreEqual(pageSize, page.Count);
Assert.AreEqual(page.Items.Count, page.Count);
Assert.AreEqual(pageSize*pageNum, page.Items.First());
Assert.AreEqual(pageSize*(pageNum+1)-1, page.Items.Last());
}
[TestMethod]
public void PageExact()
{
const int pageNum = 1;
const int pageSize = 30;
const int dataSize = 60;
var data = Enumerable.Range(0, dataSize).ToArray();
var page = new Paginated<int>(pageSize, pageNum, data);
Assert.IsTrue(page.Last);
Assert.AreEqual(pageSize, page.Max);
Assert.AreEqual(pageNum, page.Page);
Assert.AreEqual(pageSize, page.Count);
Assert.AreEqual(page.Items.Count, page.Count);
Assert.AreEqual(pageSize * pageNum, page.Items.First());
Assert.AreEqual(data.Last(), page.Items.Last());
}
[TestMethod]
public void PageEmpty()
{
const int pageNum = 0;
const int pageSize = 10;
const int dataSize = 0;
var data = Enumerable.Range(0, dataSize).ToArray();
var page = new Paginated<int>(pageSize, pageNum, data);
Assert.IsTrue(page.Last);
Assert.AreEqual(pageSize, page.Max);
Assert.AreEqual(pageNum, page.Page);
Assert.AreEqual(page.Items.Count, page.Count);
Assert.IsFalse(page.Items.Any());
}
[TestMethod]
public void PageDoesntExist()
{
const int pageNum = 5;
const int pageSize = 20;
const int dataSize = 50;
var data = Enumerable.Range(0, dataSize).ToArray();
var page = new Paginated<int>(pageSize, pageNum, data);
Assert.IsTrue(page.Last);
Assert.AreEqual(pageSize, page.Max);
Assert.AreEqual(pageNum, page.Page);
Assert.AreEqual(page.Items.Count, page.Count);
Assert.IsFalse(page.Items.Any());
}
}