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

MutableString_ChangeEncoding1() private method

private MutableString_ChangeEncoding1 ( ) : void
return void
        public void MutableString_ChangeEncoding1() {
#if TODO
            var alpha = Encoding.UTF8.GetBytes("α");
            MutableString s = MutableString.CreateBinary(alpha, RubyEncoding.UTF8);

            var SJIS = RubyEncoding.SJIS;
            var hc2 = MutableString.Create("α", SJIS).GetHashCode();
            var hc3 = MutableString.CreateBinary(alpha, SJIS).GetHashCode();
            // TODO: hc2 should be equal to hc3
            s.ChangeEncoding(SJIS, true);
            Assert(s.ToString() == "ホア" && s.Encoding == SJIS && !s.IsBinaryEncoded && (s.GetHashCode() == hc2 || s.GetHashCode() == hc3));

            s = MutableString.CreateMutable("α", RubyEncoding.UTF8);
            s.ChangeEncoding(SJIS, true);
            Assert(s.ToByteArray().ValueEquals(SJIS.StrictEncoding.GetBytes("α")));

            hc = s.GetHashCode();
            hc2 = MutableString.Create("α", RubyEncoding.SJIS).GetHashCode();
            hc3 = MutableString.CreateBinary(alpha, RubyEncoding.SJIS).GetHashCode();
            
            s.ChangeEncoding(RubyEncoding.SJIS, true);
            Assert(s.GetHashCode() == hc2 || s.GetHashCode() == hc3);
#endif
        }
Tests