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); }
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]"); }
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"); }
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); }
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); }
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"); }