IronRuby.Tests.Tests.MutableString_StartsWith1 C# (CSharp) Method

MutableString_StartsWith1() private method

private MutableString_StartsWith1 ( ) : void
return void
        public void MutableString_StartsWith1() {
            MutableString s;
            byte[] alpha = Encoding.UTF8.GetBytes("α");

            // binary string, UTF8 encoding:
            s = MutableString.CreateBinary(alpha, RubyEncoding.UTF8);
            Assert(s.StartsWith('α'));

            s = MutableString.CreateBinary(alpha, RubyEncoding.UTF8).Remove(1, 1);
            Assert(!s.StartsWith('α'));

            s = MutableString.CreateBinary(alpha, RubyEncoding.UTF8).Remove(0, 2);
            Assert(!s.StartsWith('α'));

            // binary string:
            s = MutableString.CreateBinary(alpha, RubyEncoding.Binary);
            Assert(!s.StartsWith('α'));

            s = MutableString.CreateMutable(BinaryEncoding.Instance.GetString(alpha), RubyEncoding.Binary);
            Assert(!s.StartsWith('α'));

            byte[] b = RubyEncodingOps.UTF_32BE.Encoding.GetBytes("ab");
            s = MutableString.CreateBinary(b, RubyEncodingOps.UTF_32BE);
            Assert(!s.StartsWith('\0'));
            Assert(s.StartsWith('a'));

            s = MutableString.CreateBinary(new byte[] { 0xff, 0x23 }, RubyEncoding.Binary);
            Assert(s.StartsWith('\u00ff'));

            b = new byte[] { 0xA9, 0x20 };
            s = MutableString.CreateBinary(b, RubyEncodingOps.KOI8_R);
            Assert(s.StartsWith(RubyEncodingOps.KOI8_R.Encoding.GetString(b)[0]));

            // char array content:
            s = MutableString.CreateMutable("abc", RubyEncoding.UTF8).Remove(1, 2);
            Assert(s.StartsWith('a'));
            Assert(!s.StartsWith('α'));
        }
Tests