Skip to content

Instantly share code, notes, and snippets.

@gagliotti
Last active October 5, 2020 19:05
Show Gist options
  • Save gagliotti/cedcc6c1a7826989dabad7efcd93d047 to your computer and use it in GitHub Desktop.
Save gagliotti/cedcc6c1a7826989dabad7efcd93d047 to your computer and use it in GitHub Desktop.
#include "gtest/gtest.h"
#include "AbstractSort.h"
#include <mutex>
//std::mutex g_singleThread;
TEST(SelectionSortTest,MelhorCaso){
Elemento e0, e1, e2;
e0._chave = 0;
e1._chave = 1;
e2._chave = 2;
Elemento** vetor = inicializa(3);
vetor[0] = &e0;
vetor[1] = &e1;
vetor[2] = &e2;
//g_singleThread.lock();
sort(vetor, 3);
ASSERT_EQ(getSwapsCount(),0);
//g_singleThread.unlock();
free(vetor);
}
TEST(SelectionSortTest,PiorCaso){
Elemento e0, e1, e2, e3, e4;
e0._chave = 5;
e1._chave = 4;
e2._chave = 3;
e3._chave = 1;
e4._chave = 2;
Elemento** vetor = inicializa(5);
vetor[0] = &e0;
vetor[1] = &e1;
vetor[2] = &e2;
vetor[3] = &e3;
vetor[4] = &e4;
//g_singleThread.lock();
sort(vetor, 5);
ASSERT_EQ(getSwapsCount(),3);
//g_singleThread.unlock();
free(vetor);
}
TEST(SelectionSortTest,CasoMedio){
Elemento e0, e1, e2, e3, e4, e5;
e0._chave = 0;
e1._chave = 1;
e2._chave = 2;
e3._chave = 5;
e4._chave = 3;
e5._chave = 4;
Elemento** vetor = inicializa(6);
vetor[0] = &e0;
vetor[1] = &e1;
vetor[2] = &e2;
vetor[3] = &e3;
vetor[4] = &e4;
vetor[5] = &e5;
//g_singleThread.lock();
sort(vetor, 6);
ASSERT_EQ(getSwapsCount(),2);
//g_singleThread.unlock();
free(vetor);
}
int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment