module char_strings_runme; import std.conv; import std.exception; import std.range; import char_strings.char_strings; enum CPLUSPLUS_MSG = "A message from the deep dark world of C++, where anything is possible."; enum OTHERLAND_MSG = "Little message from the safe world."; enum TEST_RANGE = iota(0, 10000); void main() { // get functions foreach (i; TEST_RANGE) { enforce(GetCharHeapString() == CPLUSPLUS_MSG, "Test char get 1 failed, iteration " ~ to!string(i)); DeleteCharHeapString(); } foreach (i; TEST_RANGE) { enforce(GetConstCharProgramCodeString() == CPLUSPLUS_MSG, "Test char get 2 failed, iteration " ~ to!string(i)); DeleteCharHeapString(); } foreach (i; TEST_RANGE) { enforce(GetCharStaticString() == CPLUSPLUS_MSG, "Test char get 3 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(GetCharStaticStringFixed() == CPLUSPLUS_MSG, "Test char get 4 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(GetConstCharStaticStringFixed() == CPLUSPLUS_MSG, "Test char get 5 failed, iteration " ~ to!string(i)); } // set functions foreach (i; TEST_RANGE) { enforce(SetCharHeapString(OTHERLAND_MSG ~ to!string(i), i), "Test char set 1 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetCharStaticString(OTHERLAND_MSG ~ to!string(i), i), "Test char set 2 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetCharArrayStaticString(OTHERLAND_MSG ~ to!string(i), i), "Test char set 3 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetConstCharHeapString(OTHERLAND_MSG ~ to!string(i), i), "Test char set 4 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetConstCharStaticString(OTHERLAND_MSG ~ to!string(i), i), "Test char set 5 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetConstCharArrayStaticString(OTHERLAND_MSG ~ to!string(i), i), "Test char set 6 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetCharConstStaticString(OTHERLAND_MSG ~ to!string(i), i), "Test char set 7 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetConstCharConstStaticString(OTHERLAND_MSG ~ to!string(i), i), "Test char set 8 failed, iteration " ~ to!string(i)); } // get set function foreach (i; TEST_RANGE) { string ping = OTHERLAND_MSG ~ to!string(i); string pong = CharPingPong(ping); enforce(ping == pong, "Test PingPong 1 failed.\nExpected:" ~ ping ~ "\nReceived:" ~ pong); } // variables foreach (i; TEST_RANGE) { const msg = OTHERLAND_MSG ~ to!string(i); global_char = msg; enforce(global_char == msg, "Test variables 1 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { const msg = OTHERLAND_MSG ~ to!string(i); global_char_array1 = msg; enforce(global_char_array1 == msg, "Test variables 2 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { const msg = OTHERLAND_MSG ~ to!string(i); global_char_array2 = msg; enforce(global_char_array2 == msg, "Test variables 2 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(global_const_char == CPLUSPLUS_MSG, "Test variables 4 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(global_const_char_array1 == CPLUSPLUS_MSG, "Test variables 5 failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(global_const_char_array2 == CPLUSPLUS_MSG, "Test variables 6 failed, iteration " ~ to!string(i)); } // char *& tests foreach (i; TEST_RANGE) { enforce(GetCharPointerRef() == CPLUSPLUS_MSG, "Test char pointer ref get failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetCharPointerRef(OTHERLAND_MSG ~ to!string(i), i), "Test char pointer ref set failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(GetConstCharPointerRef() == CPLUSPLUS_MSG, "Test const char pointer ref get failed, iteration " ~ to!string(i)); } foreach (i; TEST_RANGE) { enforce(SetConstCharPointerRef(OTHERLAND_MSG ~ to!string(i), i), "Test const char pointer ref set failed, iteration " ~ to!string(i)); } }