public void AddRemove() { var storage = new SingleByteStringStorage(); SingleByteString hello = storage.Add("Hello"); Assert.AreEqual(9, storage.TotalUsedBytes); // +4 for header Assert.IsTrue(storage.Remove(hello)); Assert.AreEqual(0, storage.Count); Assert.AreEqual(9, storage.TotalUsedBytes); // Unchanged after removal Assert.IsFalse(storage.Remove(hello)); Assert.AreEqual(0, storage.Count); CollectionAssert.AreEqual(new string[0], storage.GetStrings().ToArray()); }
public void AddGet() { var storage = new SingleByteStringStorage(); SingleByteString hello = storage.Add("Hello"); Assert.AreEqual(1, storage.Count); SingleByteString world = storage.Add("World"); Assert.AreEqual(2, storage.Count); Assert.AreEqual(5, hello.Length); Assert.AreEqual("Hello", hello.ToString()); Assert.AreEqual("Hello World", hello + " " + world); CollectionAssert.AreEqual(new[] { "Hello", "World" }, storage.GetStrings().ToArray()); }