A game about forced loneliness, made by TACStudios
at master 62 lines 2.4 kB view raw
1using NUnit.Framework; 2using System; 3 4namespace UnityEngine.Rendering.Tests 5{ 6 unsafe class FixedBufferStringQueueTests 7 { 8 [Test] 9 public void PushAndPopInBufferRange() 10 { 11 const int size = 512; 12 var bufferStart = stackalloc byte[size]; 13 var buffer = new CoreUnsafeUtils.FixedBufferStringQueue(bufferStart, size); 14 15 Assert.True(buffer.TryPush("Lorem ipsum dolor sit")); 16 Assert.True(buffer.TryPush("amet, consectetur adipiscing")); 17 Assert.True(buffer.TryPush("elit, sed do eiusmod")); 18 Assert.True(buffer.TryPush("tempor incididunt ut labore")); 19 20 Assert.AreEqual(4, buffer.Count); 21 22 Assert.True(buffer.TryPop(out string v) && v == "Lorem ipsum dolor sit"); 23 Assert.True(buffer.TryPop(out v) && v == "amet, consectetur adipiscing"); 24 Assert.True(buffer.TryPop(out v) && v == "elit, sed do eiusmod"); 25 Assert.True(buffer.TryPop(out v) && v == "tempor incididunt ut labore"); 26 } 27 28 [Test] 29 public void PushAndPopOutOfBufferRange() 30 { 31 const int size = 64; 32 var bufferStart = stackalloc byte[size]; 33 var buffer = new CoreUnsafeUtils.FixedBufferStringQueue(bufferStart, size); 34 35 Assert.True(buffer.TryPush("Lorem ipsum dolor sit")); 36 Assert.False(buffer.TryPush("amet, consectetur adipiscing")); 37 38 Assert.AreEqual(1, buffer.Count); 39 } 40 41 [Test] 42 public void PushAndPopAndClear() 43 { 44 const int size = 128; 45 var bufferStart = stackalloc byte[size]; 46 var buffer = new CoreUnsafeUtils.FixedBufferStringQueue(bufferStart, size); 47 48 Assert.True(buffer.TryPush("Lorem ipsum dolor sit")); 49 Assert.True(buffer.TryPush("amet, consectetur adipiscing")); 50 Assert.False(buffer.TryPush("elit, sed do eiusmod")); 51 52 Assert.AreEqual(2, buffer.Count); 53 buffer.Clear(); 54 Assert.AreEqual(0, buffer.Count); 55 56 Assert.True(buffer.TryPush("elit, sed do eiusmod")); 57 Assert.True(buffer.TryPush("tempor incididunt ut labore")); 58 Assert.True(buffer.TryPop(out string v) && v == "elit, sed do eiusmod"); 59 Assert.True(buffer.TryPop(out v) && v == "tempor incididunt ut labore"); 60 } 61 } 62}