コード例 #1
0
        public void IComparableOfMutableString_op_CompareTo_objectNull()
        {
            IComparable<MutableString> obj = new MutableString("a");

            var expected = string.CompareOrdinal("a", null);

            Assert.Equal(expected, obj.CompareTo(null));
        }
コード例 #2
0
        public void IComparableOfMutableString_op_CompareTo_MutableString(string comparand1,
                                                                          string comparand2)
        {
            IComparable<MutableString> obj = new MutableString(comparand1);
            var expected = string.CompareOrdinal(comparand1, comparand2);
            var actual = obj.CompareTo(comparand2);

            Assert.Equal(expected, actual);
        }
コード例 #3
0
 public static int Compare(MutableString/*!*/ self, [NotNull]MutableString/*!*/ other) {
     return Math.Sign(self.CompareTo(other));
 }
コード例 #4
0
ファイル: MutableStringTests.cs プロジェクト: epam/Containers
        public void IListTest(IListTestType type)
        {
            MutableString s  = new MutableString();
            MutableString s1 = new MutableString();

            if (type == IListTestType.Contains)
            {
                s.Assign("qwertyui");
                Assert.AreEqual(s.Contains('r'), true);
                Assert.AreEqual(s.Contains('q'), true);
                Assert.AreEqual(s.Contains('i'), true);
                Assert.AreEqual(s.Contains('a'), false);
                Assert.AreEqual(s.Contains('s'), false);
                Assert.AreEqual(s.Contains('d'), false);
            }
            if (type == IListTestType.CopyTo)
            {
                s.Assign("sadfsf");
                s1.Assign("r");
                s1.CopyTo(s);
                Assert.AreEqual(s1, "r");
                Assert.AreEqual(s, "r");
                s.Assign("sadfsf");
                s1.Assign("r");
                s.CopyTo(s1);
                Assert.AreEqual(s1, "sadfsf");
                Assert.AreEqual(s, "sadfsf");
                s.Assign("qwer");
                Array.Resize(ref ar1, 10);
                s.CopyTo(ar1, 0);
                Assert.AreEqual(ar1[0], 'q');
                Assert.AreEqual(ar1[1], 'w');
                Assert.AreEqual(ar1[2], 'e');
                Assert.AreEqual(ar1[3], 'r');
            }
            if (type == IListTestType.IndexOf)
            {
                s.Assign("qwertyui");
                Assert.AreEqual(s.IndexOf('r'), 3);
                Assert.AreEqual(s.IndexOf('q'), 0);
                Assert.AreEqual(s.IndexOf('i'), 7);
                Assert.AreEqual(s.IndexOf('a'), -1);
                Assert.AreEqual(s.IndexOf('s'), -1);
                Assert.AreEqual(s.IndexOf('d'), -1);
            }
            if (type == IListTestType.Insert)
            {
                s.Assign("qazxcv");
                s.Insert(0, '1');
                Assert.AreEqual(s, "1qazxcv");
                s.Insert(2, '2');
                Assert.AreEqual(s, "1q2azxcv");
                s.Insert(8, '8');
                Assert.AreEqual(s, "1q2azxcv8");
            }
            if (type == IListTestType.Remove)
            {
                s.Assign("qwaedszf");
                s.Remove('e');
                Assert.AreEqual(s, "qwadszf");
                s.Remove('q');
                Assert.AreEqual(s, "wadszf");
                s.Remove('f');
                Assert.AreEqual(s, "wadsz");
            }
            if (type == IListTestType.RemoveAt)
            {
                s.Assign("qwaedszf");
                s.RemoveAt(3);
                Assert.AreEqual(s, "qwadszf");
                s.RemoveAt(0);
                Assert.AreEqual(s, "wadszf");
                s.RemoveAt(5);
                Assert.AreEqual(s, "wadsz");
            }
            if (type == IListTestType.Equals)
            {
                s.Assign("sd");
                Assert.AreEqual(s.Equals(s), true);
                Assert.AreEqual(MutableString.Equals(s, s), true);
                s1.Assign("sd");
                Assert.AreEqual(s.Equals(s1), true);
                Assert.AreEqual(true, s.Equals((IReadOnlyString)s1));

                s1.Assign("sdsd");
                Assert.AreEqual(s.Equals(s1), false);

                Assert.AreEqual(false, s.Equals((IReadOnlyString)s1));
                Assert.AreEqual(s1.Equals("sdsd"), true);
                Assert.AreEqual(s1.Equals("sdsd1"), false);
                Assert.AreEqual(s1.Equals("sdsq"), false);
                Assert.AreEqual(s1.Equals((MutableString)null), false);
                Assert.AreEqual(MutableString.Equals(null, null), true);
                Assert.AreEqual(MutableString.Equals(s, null), false);
                Assert.AreEqual(MutableString.Equals(null, s), false);

                Assert.AreEqual(MutableString.Equals(new MutableString(), new MutableString()), true);
            }
            if (type == IListTestType.Clone)
            {
                s.Assign("qwer");
                MutableString s2 = s.Clone();
                Assert.AreEqual(s2, "qwer");
                Assert.AreEqual(s2, s);
            }
            if (type == IListTestType.CompareTo)
            {
                s.Assign("qwer");
                s1.Assign("qwzz");
                Assert.AreEqual(s.CompareTo(s1) < 0, true);
                Assert.AreEqual(MutableString.Compare(s, s1) < 0, true);
                Assert.AreEqual(s1.CompareTo(s) > 0, true);
                Assert.AreEqual(MutableString.Compare(s1, s) > 0, true);
                s1.Assign("qwer");
                Assert.AreEqual(s.CompareTo(s1), 0);
                Assert.AreEqual(s1.CompareTo(s), 0);
                Assert.AreEqual(MutableString.Compare(s, s1), 0);
            }
        }