Exemple #1
0
        private static void __Test_RemoveAt()
        {
            StringBuilder *sb = StringBuilder.CREATE(25);

            sb->Append("abcd");

            sb->RemoveAt(1, 2);
            Testcase.Test(sb->buffer->Compare("ad") == 0,
                          "StringBuilder.RemoveAt(int,int)",
                          "Middle-of-string removal");

            sb->Append("e");
            sb->RemoveAt(0, 2);
            Testcase.Test(sb->buffer->Compare("e") == 0,
                          "StringBuilder.RemoveAt(int,int)",
                          "Beginning-of-string removal");

            sb->Append("fg");
            sb->RemoveAt(1, 2);
            Testcase.Test(sb->buffer->Compare("e") == 0,
                          "StringBuilder.RemoveAt(int,int)",
                          "End-of-string removal");

            ADC.MemoryManager.Free((void *)sb);
        }
Exemple #2
0
        public static void __Test3()
        {
            char   aCharacter  = 'a';
            string emptyString = "";
            string otherString = "Û<=>";

            char [] otherArray = new char [3];
            otherArray [0] = 'x';
            otherArray [1] = 'y';
            otherArray [2] = 'z';

            Testcase.Test(ToAscii(aCharacter) == 0x61,
                          "Convert.ToAscii()",
                          "char 'a' to Ascii");

            byte [] currentArray = ToAscii(emptyString);

            Testcase.Test(currentArray.Length == 0,
                          "Convert.ToAscii()",
                          "string \"\" to Ascii");

            currentArray = ToAscii(otherString);

            Testcase.Test(currentArray.Length == 4,
                          "Convert.ToAscii()",
                          "string \"Û<=>\" to Ascii(length)");
            Testcase.Test(currentArray [0] == NonAsciiCharacter,
                          "Convert.ToAscii()",
                          "string \"Û<=>\" to Ascii[0]");
            Testcase.Test(currentArray [1] == 0x3C,
                          "Convert.ToAscii()",
                          "string \"Û<=>\" to Ascii[1]");
            Testcase.Test(currentArray [2] == 0x3D,
                          "Convert.ToAscii()",
                          "string \"Û<=>\" to Ascii[2]");
            Testcase.Test(currentArray [3] == 0x3E,
                          "Convert.ToAscii()",
                          "string \"Û<=>\" to Ascii[3]");

            currentArray = ToAscii(otherArray);
            Testcase.Test(currentArray.Length == 3,
                          "Convert.ToAscii()",
                          "string \"xyz\" to Ascii(length)");
            Testcase.Test(currentArray [0] == 0x78,
                          "Convert.ToAscii()",
                          "char[] \"xyz\" to Ascii[0]");
            Testcase.Test(currentArray [1] == 0x79,
                          "Convert.ToAscii()",
                          "char[] \"xyz\" to Ascii[1]");
            Testcase.Test(currentArray [2] == 0x7a,
                          "Convert.ToAscii()",
                          "char[] \"xyz\" to Ascii[2]");
        }
Exemple #3
0
        public static void __Test1()
        {
            CString8 *buf = (CString8 *)Stubs.CString("--keymap arg\n");

            Testcase.Test(buf->IndexOf("--keymap") == 0,
                          "CString8.IndexOf()",
                          "Find substring at first index: result == 0");

            Testcase.Test(buf->IndexOf("arg") == 9,
                          "CString8.IndexOf()",
                          "Find substring test: result == 9");

            Testcase.Test(buf->Compare(9, "arg", 0, 3) == 0,
                          "CString8.Compare()",
                          "Compare substrings: '--keymap [arg]' == 'arg'");

            Testcase.Test(buf->Compare(9, "arg\n", 0, 0) == 0,
                          "CString8.Compare()",
                          "Compare substrings: '--keymap [arg\\n]' == 'arg\\n'");

            Testcase.Test(buf->Compare((CString8 *)Stubs.CString("--keymap"), 8) == 0,
                          "CString8.Compare()",
                          "Compare substring to static byte*: '[--keymap] arg' == '--keymap'");

            Testcase.Test(buf->Compare(9, (CString8 *)Stubs.CString("arg"), 0, 3) == 0,
                          "CString8.Compare()",
                          "Compare substring to static byte*: '--keymap [arg]' == 'arg'");

            Testcase.Test(buf->Compare(9, (CString8 *)Stubs.CString("arg\n"), 0, 0) == 0,
                          "CString8.Compare()",
                          "Compare substring to static byte*: '--keymap [arg\\n]' == 'arg\\n'");

            int ind = buf->IndexOf("--keymap");

            Testcase.Test(ind == 0,
                          "CString8.IndexOf()",
                          "IndexOf substring at zero-index: '--keymap arg'.IndexOf('--keymap') == 0");

            ind = buf->IndexOf("arg");
            Testcase.Test(ind == 9,
                          "CString8.IndexOf()",
                          "IndexOf substring at non-zero-index: '--keymap arg'.IndexOf('arg') == 9");

            ind = buf->IndexOf("\n");
            Testcase.Test(ind == 12,
                          "CString8.IndexOf()",
                          "IndexOf substring at non-zero-index: '--keymap arg\\n'.IndexOf('\\n') == 12");
        }
Exemple #4
0
        private static void __Test_Append()
        {
            StringBuilder *sb = StringBuilder.CREATE(5);

            sb->AppendChar((byte)'a');
            Testcase.Test(sb->buffer->Pointer [0] == (byte)'a',
                          "StringBuilder.AppendChar(byte)",
                          "Test A (append 'a')");

            sb->Append("b");
            Testcase.Test(sb->buffer->Pointer [1] == (byte)'b',
                          "StringBuilder.Append(string)",
                          "Test B (append 'b')");

            ADC.MemoryManager.Free((void *)sb);
        }
Exemple #5
0
        private static void __Test_LengthAndCapacity()
        {
            StringBuilder *sb = StringBuilder.CREATE(50);

            sb->Append("abcd");
            sb->Append("e");

            Testcase.Test(sb->Length == 5,
                          "StringBuilder.Append(string)",
                          "Length misalignment");
            Testcase.Test(sb->capacity == 50,
                          "StringBuilder.Append(string)",
                          "Capacity misalignment");

            sb->Clear();
            Testcase.Test(sb->Length == 0,
                          "StringBuilder.Clear()",
                          "Correct clear behavior");

            ADC.MemoryManager.Free((void *)sb);
        }
Exemple #6
0
        public static void __Test1()
        {
            byte *ptr1 = (byte *)Stubs.CString("US"), ptr2 = (byte *)Stubs.CString("SK");
            byte *longer = (byte *)Stubs.CString("The US");

            //Test constant CString buffers
            Testcase.Test(ByteString.Compare(ptr1, ptr2) != 0,
                          "ByteString.Compare()",
                          "Comparing: 'US' != 'SK'");

            Testcase.Test(ByteString.Compare(ptr1, ptr1) == 0,
                          "ByteString.Compare()",
                          "Comparing: 'US' == 'US'");

            Testcase.Test(ByteString.Compare(ptr1, 1, ptr1, 1, 1) == 0,
                          "ByteString.Compare()",
                          "Comparing substrings: 'U[S]' == 'U[S]'");

            Testcase.Test(ByteString.Compare(longer, 4, ptr1, 0, 2) == 0,
                          "ByteString.Compare()",
                          "Comparing substrings: 'The [US]' == 'US'");

            Testcase.Test(ByteString.Compare(longer, 4, ptr1, 0, 0) == 0,
                          "ByteString.Compare()",
                          "Comparing substrings: 'The [US]' == 'US' (count=0)");

            //Test constant CString buffer with constant String type

            Testcase.Test(ByteString.Compare(ptr1, "SK") != 0,
                          "ByteString.Compare()",
                          "Comparing byte* and string constant: 'US' != const 'SK'");

            Testcase.Test(ByteString.Compare(ptr1, "US") == 0,
                          "ByteString.Compare()",
                          "Comparing byte* and string constant: 'US' == const 'US'");

            Testcase.Test(ByteString.Compare(longer, 4, "US", 0, 2) == 0,
                          "ByteString.Compare()",
                          "Comparing byte* substring and string constant: 'The [US]' == const 'US'");
            Testcase.Test(ByteString.Compare(longer, 4, "US", 0, 2) == 0,
                          "ByteString.Compare()",
                          "Comparing byte* substring and string constant: 'The [US]' == const 'US' (count=2)");

            Testcase.Test(ByteString.Compare(longer, 4, "US", 0, 0) == 0,
                          "ByteString.Compare()",
                          "Comparing byte* substring and string constant: 'The [US]' == const 'US' (count=0)");

            //Test that constant String is working properly
            const string str1 = "US";
            const string str2 = "SK";

            Testcase.Test((byte)str1 [0] == (byte)'U',
                          "ByteString",
                          "Testing string constants: (byte)\"US\" [0] == (byte)'U'");

            Testcase.Test((byte)str1 [1] == (byte)'S',
                          "ByteString",
                          "Testing string constants: (byte)\"US\" [1] == (byte)'S'");

            Testcase.Test(str1.Length == 2,
                          "ByteString",
                          "Testing string constant length: \"US\".Length == 2");

            Testcase.Test((byte)str1 [1] == (byte)str2 [0],
                          "ByteString",
                          "Testing string constants: (byte)\"US\" [1] == (byte)\"SK\" [0]");

            // FIXME: This testcase does not test ByteString, but the string constants.... where should it go?

            Testcase.Test("\n".Length == 1,
                          "ByteString",
                          "Testing string constants: Length of newline (\"\\n\".Length == 1");
        }