Example #1
0
        public unsafe void Size12_Equality(string buffer, string compareTo, bool expected)
        {
            // Manually copy in the buffer to allow testing non-null terminated
            FixedString.Size12 s = new FixedString.Size12();

            fixed(char *c = buffer)
            {
                Buffer.MemoryCopy(c, (char *)&s, sizeof(FixedString.Size12) * sizeof(char), buffer.Length * sizeof(char));
            }

            s.Buffer.EqualsOrdinal(compareTo).Should().Be(expected);
        }
Example #2
0
        public unsafe void Size12_NoNullOnBuffer()
        {
            FixedString.Size12 s = new FixedString.Size12();
            char * f             = (char *)&s;
            string value         = "fizzlesticks";

            fixed(char *c = value)
            {
                Buffer.MemoryCopy(c, f, 12 * sizeof(char), 12 * sizeof(char));
            }

            s.Buffer.CreateString().Should().Be("fizzlesticks");
        }
Example #3
0
 public unsafe void Size12_SetOver()
 {
     FixedString.Size12 s = new FixedString.Size12();
     s.Buffer.CopyFrom("Fizzlesticks");
     s.Buffer.CreateString().Should().Be("Fizzlestick");
 }
Example #4
0
 public unsafe void Size12_RoundTrip(string value)
 {
     FixedString.Size12 s = new FixedString.Size12();
     s.Buffer.CopyFrom(value);
     s.Buffer.CreateString().Should().Be(value);
 }