123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577 |
-
- //------------------------------------------------------------------------------
- // <auto-generated>
- // This code was generated by a tool.
- //
- // TextTransform Samples/Packages/com.unity.collections/Unity.Collections.Tests/FixedStringSizedTests.tt
- //
- // Changes to this file may cause incorrect behavior and will be lost if
- // the code is regenerated.
- // </auto-generated>
- //------------------------------------------------------------------------------
-
- using System;
- using NUnit.Framework;
- using Unity.Collections;
- using Unity.Collections.Tests;
- using UnityEngine;
-
- namespace Unity.Collections.Tests
- {
-
- internal class FixedStringSizedTests
- {
-
- class ScriptableObjectFixedString32Bytes : UnityEngine.ScriptableObject
- {
- public FixedString32Bytes String;
- }
-
- [Test]
- public void FixedString32BytesSerializes()
- {
- var a = UnityEngine.ScriptableObject.CreateInstance<ScriptableObjectFixedString32Bytes>();
- a.String = "Hello World";
- var b = UnityEngine.Object.Instantiate(a);
- Assert.AreEqual(a.String, b.String);
- }
-
- [TestCase("ooooooooooooooooooooooooooooo", FormatError.None, TestName="FixedString32AtMaximumSizeWorks_Almost")]
- [TestCase("oooooooooooooooooooooooooooooo", FormatError.Overflow, TestName="FixedString32AtMaximumSizeWorks_Over")]
- public void FixedString32BytesAtMaximumSizeWorks(String a, FormatError expectedError)
- {
- FixedString32Bytes aa = default;
- aa.Junk();
- var error = aa.Append(a);
- Assert.AreEqual(expectedError, error);
- if (expectedError == FormatError.None)
- aa.AssertNullTerminated();
- else
- Assert.AreEqual(0, aa.Length);
- }
-
- [Test]
- public unsafe void FixedString32BytesToFixedList()
- {
- FixedString32Bytes a = default;
- a.Junk();
- a.Append("0123");
- ref var aList = ref a.AsFixedList();
- Assert.IsFalse(aList.IsEmpty);
- Assert.AreEqual(4, aList.Length);
- Assert.AreEqual(a.Capacity + 1, aList.Capacity);
- Assert.AreEqual('0', aList[0]);
- Assert.AreEqual('1', aList[1]);
- Assert.AreEqual('2', aList[2]);
- Assert.AreEqual('3', aList[3]);
- aList.Add((byte)'4');
- Assert.AreEqual("01234", a);
- // because we modified it as a FixedList, it will not be null terminated!
- Assert.AreNotEqual(0, a.GetUnsafePtr()[a.Length]);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public unsafe void FixedString32BytesEqualsStringNoGC(string a)
- {
- FixedString32Bytes b = a;
- GCAllocRecorder.ValidateNoGCAllocs(() =>
- {
- b.Equals(a);
- });
- }
-
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString32BytesToFixedString64Works(String a)
- {
- var b = new FixedString32Bytes(a);
- var c = new FixedString64Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString32BytesToFixedString128Works(String a)
- {
- var b = new FixedString32Bytes(a);
- var c = new FixedString128Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString32BytesToFixedString512Works(String a)
- {
- var b = new FixedString32Bytes(a);
- var c = new FixedString512Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString32BytesToFixedString4096Works(String a)
- {
- var b = new FixedString32Bytes(a);
- var c = new FixedString4096Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- class ScriptableObjectFixedString64Bytes : UnityEngine.ScriptableObject
- {
- public FixedString64Bytes String;
- }
-
- [Test]
- public void FixedString64BytesSerializes()
- {
- var a = UnityEngine.ScriptableObject.CreateInstance<ScriptableObjectFixedString64Bytes>();
- a.String = "Hello World";
- var b = UnityEngine.Object.Instantiate(a);
- Assert.AreEqual(a.String, b.String);
- }
-
- [TestCase("ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", FormatError.None, TestName="FixedString64AtMaximumSizeWorks_Almost")]
- [TestCase("oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", FormatError.Overflow, TestName="FixedString64AtMaximumSizeWorks_Over")]
- public void FixedString64BytesAtMaximumSizeWorks(String a, FormatError expectedError)
- {
- FixedString64Bytes aa = default;
- aa.Junk();
- var error = aa.Append(a);
- Assert.AreEqual(expectedError, error);
- if (expectedError == FormatError.None)
- aa.AssertNullTerminated();
- else
- Assert.AreEqual(0, aa.Length);
- }
-
- [Test]
- public unsafe void FixedString64BytesToFixedList()
- {
- FixedString64Bytes a = default;
- a.Junk();
- a.Append("0123");
- ref var aList = ref a.AsFixedList();
- Assert.IsFalse(aList.IsEmpty);
- Assert.AreEqual(4, aList.Length);
- Assert.AreEqual(a.Capacity + 1, aList.Capacity);
- Assert.AreEqual('0', aList[0]);
- Assert.AreEqual('1', aList[1]);
- Assert.AreEqual('2', aList[2]);
- Assert.AreEqual('3', aList[3]);
- aList.Add((byte)'4');
- Assert.AreEqual("01234", a);
- // because we modified it as a FixedList, it will not be null terminated!
- Assert.AreNotEqual(0, a.GetUnsafePtr()[a.Length]);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public unsafe void FixedString64BytesEqualsStringNoGC(string a)
- {
- FixedString64Bytes b = a;
- GCAllocRecorder.ValidateNoGCAllocs(() =>
- {
- b.Equals(a);
- });
- }
-
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString64BytesToFixedString32Works(String a)
- {
- var b = new FixedString64Bytes(a);
- var c = new FixedString32Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString64BytesToFixedString128Works(String a)
- {
- var b = new FixedString64Bytes(a);
- var c = new FixedString128Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString64BytesToFixedString512Works(String a)
- {
- var b = new FixedString64Bytes(a);
- var c = new FixedString512Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString64BytesToFixedString4096Works(String a)
- {
- var b = new FixedString64Bytes(a);
- var c = new FixedString4096Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- class ScriptableObjectFixedString128Bytes : UnityEngine.ScriptableObject
- {
- public FixedString128Bytes String;
- }
-
- [Test]
- public void FixedString128BytesSerializes()
- {
- var a = UnityEngine.ScriptableObject.CreateInstance<ScriptableObjectFixedString128Bytes>();
- a.String = "Hello World";
- var b = UnityEngine.Object.Instantiate(a);
- Assert.AreEqual(a.String, b.String);
- }
-
- [TestCase("ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", FormatError.None, TestName="FixedString128AtMaximumSizeWorks_Almost")]
- [TestCase("oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", FormatError.Overflow, TestName="FixedString128AtMaximumSizeWorks_Over")]
- public void FixedString128BytesAtMaximumSizeWorks(String a, FormatError expectedError)
- {
- FixedString128Bytes aa = default;
- aa.Junk();
- var error = aa.Append(a);
- Assert.AreEqual(expectedError, error);
- if (expectedError == FormatError.None)
- aa.AssertNullTerminated();
- else
- Assert.AreEqual(0, aa.Length);
- }
-
- [Test]
- public unsafe void FixedString128BytesToFixedList()
- {
- FixedString128Bytes a = default;
- a.Junk();
- a.Append("0123");
- ref var aList = ref a.AsFixedList();
- Assert.IsFalse(aList.IsEmpty);
- Assert.AreEqual(4, aList.Length);
- Assert.AreEqual(a.Capacity + 1, aList.Capacity);
- Assert.AreEqual('0', aList[0]);
- Assert.AreEqual('1', aList[1]);
- Assert.AreEqual('2', aList[2]);
- Assert.AreEqual('3', aList[3]);
- aList.Add((byte)'4');
- Assert.AreEqual("01234", a);
- // because we modified it as a FixedList, it will not be null terminated!
- Assert.AreNotEqual(0, a.GetUnsafePtr()[a.Length]);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public unsafe void FixedString128BytesEqualsStringNoGC(string a)
- {
- FixedString128Bytes b = a;
- GCAllocRecorder.ValidateNoGCAllocs(() =>
- {
- b.Equals(a);
- });
- }
-
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString128BytesToFixedString32Works(String a)
- {
- var b = new FixedString128Bytes(a);
- var c = new FixedString32Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString128BytesToFixedString64Works(String a)
- {
- var b = new FixedString128Bytes(a);
- var c = new FixedString64Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString128BytesToFixedString512Works(String a)
- {
- var b = new FixedString128Bytes(a);
- var c = new FixedString512Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString128BytesToFixedString4096Works(String a)
- {
- var b = new FixedString128Bytes(a);
- var c = new FixedString4096Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- class ScriptableObjectFixedString512Bytes : UnityEngine.ScriptableObject
- {
- public FixedString512Bytes String;
- }
-
- [Test]
- public void FixedString512BytesSerializes()
- {
- var a = UnityEngine.ScriptableObject.CreateInstance<ScriptableObjectFixedString512Bytes>();
- a.String = "Hello World";
- var b = UnityEngine.Object.Instantiate(a);
- Assert.AreEqual(a.String, b.String);
- }
-
- [TestCase("ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", FormatError.None, TestName="FixedString512AtMaximumSizeWorks_Almost")]
- [TestCase("oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", FormatError.Overflow, TestName="FixedString512AtMaximumSizeWorks_Over")]
- public void FixedString512BytesAtMaximumSizeWorks(String a, FormatError expectedError)
- {
- FixedString512Bytes aa = default;
- aa.Junk();
- var error = aa.Append(a);
- Assert.AreEqual(expectedError, error);
- if (expectedError == FormatError.None)
- aa.AssertNullTerminated();
- else
- Assert.AreEqual(0, aa.Length);
- }
-
- [Test]
- public unsafe void FixedString512BytesToFixedList()
- {
- FixedString512Bytes a = default;
- a.Junk();
- a.Append("0123");
- ref var aList = ref a.AsFixedList();
- Assert.IsFalse(aList.IsEmpty);
- Assert.AreEqual(4, aList.Length);
- Assert.AreEqual(a.Capacity + 1, aList.Capacity);
- Assert.AreEqual('0', aList[0]);
- Assert.AreEqual('1', aList[1]);
- Assert.AreEqual('2', aList[2]);
- Assert.AreEqual('3', aList[3]);
- aList.Add((byte)'4');
- Assert.AreEqual("01234", a);
- // because we modified it as a FixedList, it will not be null terminated!
- Assert.AreNotEqual(0, a.GetUnsafePtr()[a.Length]);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public unsafe void FixedString512BytesEqualsStringNoGC(string a)
- {
- FixedString512Bytes b = a;
- GCAllocRecorder.ValidateNoGCAllocs(() =>
- {
- b.Equals(a);
- });
- }
-
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString512BytesToFixedString32Works(String a)
- {
- var b = new FixedString512Bytes(a);
- var c = new FixedString32Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString512BytesToFixedString64Works(String a)
- {
- var b = new FixedString512Bytes(a);
- var c = new FixedString64Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString512BytesToFixedString128Works(String a)
- {
- var b = new FixedString512Bytes(a);
- var c = new FixedString128Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString512BytesToFixedString4096Works(String a)
- {
- var b = new FixedString512Bytes(a);
- var c = new FixedString4096Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- class ScriptableObjectFixedString4096Bytes : UnityEngine.ScriptableObject
- {
- public FixedString4096Bytes String;
- }
-
- [Test]
- public void FixedString4096BytesSerializes()
- {
- var a = UnityEngine.ScriptableObject.CreateInstance<ScriptableObjectFixedString4096Bytes>();
- a.String = "Hello World";
- var b = UnityEngine.Object.Instantiate(a);
- Assert.AreEqual(a.String, b.String);
- }
-
- [TestCase("ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", FormatError.None, TestName="FixedString4096AtMaximumSizeWorks_Almost")]
- [TestCase("oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", FormatError.Overflow, TestName="FixedString4096AtMaximumSizeWorks_Over")]
- public void FixedString4096BytesAtMaximumSizeWorks(String a, FormatError expectedError)
- {
- FixedString4096Bytes aa = default;
- aa.Junk();
- var error = aa.Append(a);
- Assert.AreEqual(expectedError, error);
- if (expectedError == FormatError.None)
- aa.AssertNullTerminated();
- else
- Assert.AreEqual(0, aa.Length);
- }
-
- [Test]
- public unsafe void FixedString4096BytesToFixedList()
- {
- FixedString4096Bytes a = default;
- a.Junk();
- a.Append("0123");
- ref var aList = ref a.AsFixedList();
- Assert.IsFalse(aList.IsEmpty);
- Assert.AreEqual(4, aList.Length);
- Assert.AreEqual(a.Capacity + 1, aList.Capacity);
- Assert.AreEqual('0', aList[0]);
- Assert.AreEqual('1', aList[1]);
- Assert.AreEqual('2', aList[2]);
- Assert.AreEqual('3', aList[3]);
- aList.Add((byte)'4');
- Assert.AreEqual("01234", a);
- // because we modified it as a FixedList, it will not be null terminated!
- Assert.AreNotEqual(0, a.GetUnsafePtr()[a.Length]);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public unsafe void FixedString4096BytesEqualsStringNoGC(string a)
- {
- FixedString4096Bytes b = a;
- GCAllocRecorder.ValidateNoGCAllocs(() =>
- {
- b.Equals(a);
- });
- }
-
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString4096BytesToFixedString32Works(String a)
- {
- var b = new FixedString4096Bytes(a);
- var c = new FixedString32Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString4096BytesToFixedString64Works(String a)
- {
- var b = new FixedString4096Bytes(a);
- var c = new FixedString64Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString4096BytesToFixedString128Works(String a)
- {
- var b = new FixedString4096Bytes(a);
- var c = new FixedString128Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- [TestCase("red")]
- [TestCase("紅色", TestName="{m}(Chinese-Red)")]
- [TestCase("George Washington")]
- [TestCase("村上春樹", TestName="{m}(HarukiMurakami)")]
- public void FixedString4096BytesToFixedString512Works(String a)
- {
- var b = new FixedString4096Bytes(a);
- var c = new FixedString512Bytes(b);
- String d = c.ToString();
- Assert.AreEqual(a, d);
- }
-
- }
-
- }
|