public void LookBehindPool_PrimitiveType_OutOfRangeIndexThrowsAnException() { //Arrange var floatPool = new PrimitiveTypePool(10); floatPool.Write(1); //Act & Assert Assert.ThrowsException<IndexOutOfRangeException>(() => floatPool[1]); }
public void LookBehindPool_PrimitiveType_Constructor_Works() { //Arrange & Act int capacity = 10; var numberPool = new PrimitiveTypePool(capacity); //Assert Assert.IsNotNull(numberPool.Length == 0); Assert.IsNotNull(numberPool.Capacity == capacity); }
public void Bookmark_Constructor_Works() { //Arrange PrimitiveTypePool pool = new PrimitiveTypePool(10); //Act Bookmark <double> bm = new Bookmark <double>(pool); //Assert Assert.AreEqual(0, bm.Sequence); Assert.AreEqual(0, bm.Length); Assert.AreEqual(0, bm.Position); }
public void LookBehindPool_PrimitiveType_Write_Works() { //Arrange var poolValue = 45; var stringPool = new PrimitiveTypePool(10); //Act stringPool.Write(poolValue); //Assert Assert.AreEqual(stringPool.Length, 1); Assert.AreEqual(stringPool[0], poolValue); Assert.AreEqual(stringPool.Current, poolValue); }
public void LookBehindPool_PrimitiveType_WriteRollover_Works() { //Arrange var boolPool = new PrimitiveTypePool(2); //Act boolPool.Write(1); boolPool.Write(1); boolPool.Write(0); //Assert Assert.AreEqual(boolPool[0], 0); Assert.AreEqual(boolPool.Previous, 1); Assert.AreEqual(boolPool.Length, 2); }
public void Bookmark_Indexer_ExpirationThrowsAnException() { //Arrange PrimitiveTypePool pool = new PrimitiveTypePool(3); pool.Write(1); pool.Write(2); pool.Write(3); Bookmark <double> bm = new Bookmark <double>(pool); //Act pool.Write(4); pool.Write(5); //Assert Assert.ThrowsException <Exception>(() => bm[1]); }
public void Bookmark_Previous_BeforeExpirationWorks() { //Arrange PrimitiveTypePool pool = new PrimitiveTypePool(3); pool.Write(1); pool.Write(2); pool.Write(3); Bookmark <double> bm = new Bookmark <double>(pool); Assert.AreEqual(3, bm.Current); //Act pool.Write(4); //Assert Assert.AreEqual(2, bm.Previous); }
public void Bookmark_Current_MatchesSourcePoolAfterSubsequentWrites() { //Arrange PrimitiveTypePool pool = new PrimitiveTypePool(10); pool.Write(1); pool.Write(2); pool.Write(3); Bookmark <double> bm = new Bookmark <double>(pool); //Act pool.Write(4); pool.Write(5); pool.Write(6); //Assert Assert.AreEqual(6, pool.Current); Assert.AreEqual(3, bm.Current); Assert.AreEqual(2, bm.Previous); Assert.AreEqual(3, bm[0]); }