public void BlobString_ToString_OutputIsIdentical(string input)
        {
            var blobString = new BlobString(input);

            Debug.Log($"input - {input}, managed int string output - {blobString}");
            Assert.AreEqual(input, blobString.ToString());
            blobString.Dispose();
        }
        public void BlobString_GetHashCode_OutputSameAcrossInstances(string input)
        {
            var blobString1 = new BlobString(input);
            var blobString2 = new BlobString(input);

            var hashCode1 = blobString1.GetHashCode();
            var hashCode2 = blobString2.GetHashCode();

            blobString1.Dispose();
            blobString2.Dispose();

            Assert.AreEqual(hashCode1, hashCode2);
        }
Beispiel #3
0
        public void WriteBlobString(string value)
        {
            BlobString.Encoding = Encoding.ASCII;
            var blobStr = new BlobString(value, Allocator.Temp);

            m_Writer.Write(blobStr);

            blobStr.Dispose();
            var asciiByteCount   = Encoding.ASCII.GetByteCount(value);
            var alignedByteCount = (asciiByteCount + 3) & ~3;
            var expected         = alignedByteCount == asciiByteCount ? asciiByteCount + 4 : alignedByteCount;

            Assert.AreEqual(expected, m_Writer.Length);

            var convertedBack = Encoding.ASCII.GetString(m_Writer.Buffer, m_WriterLengthBefore, asciiByteCount);

            Assert.AreEqual(value, convertedBack);
        }