Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
152 changes: 76 additions & 76 deletions tests/tests.ino
Original file line number Diff line number Diff line change
Expand Up @@ -12,111 +12,111 @@ const char *model = "gpt-4o";
/* Assert( expected value (Known Value), actual value(value under test)) */

#if TESTING_ON
// test(ChatBox_itializes_with_valid_values) {

// ChatGPTuino chat{ 0, 0 };
// chat.init(test_key, model);
// long testDocSize = 3056; //Based on Arduino JSON 6 Assistant
// assertEqual((const char *)model, (const char *)chat.model());
// assertEqual((long)chat.maxTokens(), (long)MIN_TOKENS);
// assertEqual(chat.numMessages(), MIN_MESSAGES);
// assertEqual((long)(CHARS_PER_TOKEN * chat.maxTokens()), (long)chat.MAX_MESSAGE_LENGTH());
// assertEqual(testDocSize, (long)chat.JSON_DOC_SIZE());
// }
test(ChatBox_itializes_with_valid_values) {

ChatGPTuino chat{ 0, 0 };
chat.init(test_key, model);
long testDocSize = 3056; //Based on Arduino JSON 6 Assistant
assertEqual((const char *)model, (const char *)chat.model());
assertEqual((long)chat.maxTokens(), (long)MIN_TOKENS);
assertEqual(chat.numMessages(), MIN_MESSAGES);
assertEqual((long)(CHARS_PER_TOKEN * chat.maxTokens()), (long)chat.MAX_MESSAGE_LENGTH());
assertEqual(testDocSize, (long)chat.JSON_DOC_SIZE());
}

// test(init_allocates_space_for_message_contexts) {
test(init_allocates_space_for_message_contexts) {

// ChatGPTuino chat{ 10, 5 };
// chat.init(test_key, model);
ChatGPTuino chat{ 10, 5 };
chat.init(test_key, model);

// for (int i = 0; i < chat.numMessages() - 1; i++) {
for (int i = 0; i < chat.numMessages() - 1; i++) {

// long contentPtrA = (long)chat.contentPtrs(i);
// long contentPtrB = (long)chat.contentPtrs(i + 1);
// long actual = contentPtrB - contentPtrA;
// long expected = chat.MAX_MESSAGE_LENGTH() * sizeof(char);
long contentPtrA = (long)chat.contentPtrs(i);
long contentPtrB = (long)chat.contentPtrs(i + 1);
long actual = contentPtrB - contentPtrA;
long expected = chat.MAX_MESSAGE_LENGTH() * sizeof(char);

// assertEqual(expected, actual);
// }
// }
assertEqual(expected, actual);
}
}

// test(putMessage_puts_message_in_next_available_slot) {
test(putMessage_puts_message_in_next_available_slot) {

// ChatGPTuino chat{ 10, 4 };
// chat.init(test_key, model);
ChatGPTuino chat{ 10, 4 };
chat.init(test_key, model);

// char *testMessage = "testing_1";
// chat.putMessage(testMessage, strlen(testMessage));
char *testMessage = "testing_1";
chat.putMessage(testMessage, strlen(testMessage));

// assertEqual((const char *)testMessage, (const char *)chat.getLastMessageContent());
assertEqual((const char *)testMessage, (const char *)chat.getLastMessageContent());

// char *testMessage2 = "testing_2";
// chat.putMessage(testMessage2, strlen(testMessage2));
char *testMessage2 = "testing_2";
chat.putMessage(testMessage2, strlen(testMessage2));

// assertEqual((const char *)testMessage2, (const char *)chat.getLastMessageContent());
// }
assertEqual((const char *)testMessage2, (const char *)chat.getLastMessageContent());
}

// test(putMessage_assigns_default_role_of_message_to_user) {
// ChatGPTuino chat{ 10, 4 };
// chat.init(test_key, model);
test(putMessage_assigns_default_role_of_message_to_user) {
ChatGPTuino chat{ 10, 4 };
chat.init(test_key, model);

// char *testMessage = "testing_1";
// chat.putMessage(testMessage, strlen(testMessage));
char *testMessage = "testing_1";
chat.putMessage(testMessage, strlen(testMessage));

// assertEqual(1, chat.getLastMessageRole());
// }
assertEqual(1, chat.getLastMessageRole());
}

// test(putMessage_assigns_specified_role_to_message) {
// ChatGPTuino chat{ 10, 4 };
// chat.init(test_key, model);
test(putMessage_assigns_specified_role_to_message) {
ChatGPTuino chat{ 10, 4 };
chat.init(test_key, model);

// char *testMessage = "testing_1";
// chat.putMessage(testMessage, strlen(testMessage), Roles::Assistant);
char *testMessage = "testing_1";
chat.putMessage(testMessage, strlen(testMessage), Roles::Assistant);

// assertEqual(Roles::Assistant, chat.getLastMessageRole());
// }
assertEqual(Roles::Assistant, chat.getLastMessageRole());
}

// test(generateJsonRequestBody_returns_valid_Json) {
// ChatGPTuino chat{ 10, 4 };
// chat.init(test_key, model);
test(generateJsonRequestBody_returns_valid_Json) {
ChatGPTuino chat{ 10, 4 };
chat.init(test_key, model);

// char *testMessage = "JSON body testing";
// chat.putMessage(testMessage, Roles::User);
char *testMessage = "JSON body testing";
chat.putMessage(testMessage, Roles::User);

// JsonDocument testDoc = chat.generateJsonRequestBody();
JsonDocument testDoc = chat.generateJsonRequestBody();

// assertEqual((const char *)model, (const char *)testDoc["model"]);
// assertEqual(chat.maxTokens(), testDoc["max_tokens"]);
// assertEqual((const char *)chat.getLastMessageContent(), (const char *)testDoc["messages"][0]["content"]);
assertEqual((const char *)model, (const char *)testDoc["model"]);
assertEqual(chat.maxTokens(), testDoc["max_tokens"]);
assertEqual((const char *)chat.getLastMessageContent(), (const char *)testDoc["messages"][0]["content"]);

// char *testMessage2 = "JSON body testing2";
// chat.putMessage(testMessage2, strlen(testMessage2), Roles::User);
// testDoc = chat.generateJsonRequestBody();
char *testMessage2 = "JSON body testing2";
chat.putMessage(testMessage2, strlen(testMessage2), Roles::User);
testDoc = chat.generateJsonRequestBody();

// assertEqual((const char *)chat.getLastMessageContent(), (const char *)testDoc["messages"][1]["content"]);
// }
assertEqual((const char *)chat.getLastMessageContent(), (const char *)testDoc["messages"][1]["content"]);
}

// test(getResponse_puts_response_in_messages) {
// ChatGPTuino chat{ 10, 4 };
// chat.init(key, model);
test(getResponse_puts_response_in_messages) {
ChatGPTuino chat{ 10, 4 };
chat.init(key, model);

// char *testMessage = "Please respond with the only the word TEST";
// chat.putMessage(testMessage, strlen(testMessage), Roles::User);
// chat.getResponse();
char *testMessage = "Please respond with the only the word TEST";
chat.putMessage(testMessage, strlen(testMessage), Roles::User);
chat.getResponse();

// assertEqual("TEST", (const char *)chat.getLastMessageContent());
// }
assertEqual("TEST", (const char *)chat.getLastMessageContent());
}

// test(getResponse_puts_response_length_in_messages) {
// ChatGPTuino chat{ 10, 4 };
// chat.init(key, model);
test(getResponse_puts_response_length_in_messages) {
ChatGPTuino chat{ 10, 4 };
chat.init(key, model);

// char *testMessage = "Please respond with the only the word TEST";
// chat.putMessage(testMessage, strlen(testMessage), Roles::User);
// chat.getResponse();
char *testMessage = "Please respond with the only the word TEST";
chat.putMessage(testMessage, strlen(testMessage), Roles::User);
chat.getResponse();

// assertEqual((long)4, (long)chat.getLastMessageLength());
// }
assertEqual((long)4, (long)chat.getLastMessageLength());
}

test(init_with_sys_msg_para_inserts_sys_msg) {
ChatGPTuino chat{ 50, 4 };
Expand Down