horcrux/test/utils-test.cpp

47 lines
2.1 KiB
C++

#include <string>
#include "gtest/gtest.h"
#include "utils.h"
const std::string test1_str = "sei proprio un sandrone";
const std::string test1_base64 = "c2VpIHByb3ByaW8gdW4gc2FuZHJvbmU=";
const std::string test2_str = "catopleba io ti dono le mie tepa";
const std::string test2_base64 = "Y2F0b3BsZWJhIGlvIHRpIGRvbm8gbGUgbWllIHRlcGE=";
const std::string test3_str = "il pene mi da' si' la moto, ma la moto non da' pene";
const std::string test3_base64 = "aWwgcGVuZSBtaSBkYScgc2knIGxhIG1vdG8sIG1hIGxhIG1vdG8gbm9uIGRhJyBwZW5l";
const std::string test4_str = "mi e' entrata una bruschetta nell'occhio";
const std::string test4_base64 = "bWkgZScgZW50cmF0YSB1bmEgYnJ1c2NoZXR0YSBuZWxsJ29jY2hpbw==";
TEST(utilTests, to_base64Test){
EXPECT_EQ(test1_base64, horcrux::to_base64(horcrux::raw_data(test1_str.begin(), test1_str.end())));
EXPECT_EQ(test2_base64, horcrux::to_base64(horcrux::raw_data(test2_str.begin(), test2_str.end())));
EXPECT_EQ(test3_base64, horcrux::to_base64(horcrux::raw_data(test3_str.begin(), test3_str.end())));
EXPECT_EQ(test4_base64, horcrux::to_base64(horcrux::raw_data(test4_str.begin(), test4_str.end())));
}
TEST(utilTests, from_base64Test){
auto result = horcrux::from_base64(test1_base64);
EXPECT_EQ(test1_str, std::string(result.begin(), result.end()));
result = horcrux::from_base64(test2_base64);
EXPECT_EQ(test2_str, std::string(result.begin(), result.end()));
result = horcrux::from_base64(test3_base64);
EXPECT_EQ(test3_str, std::string(result.begin(), result.end()));
result = horcrux::from_base64(test4_base64);
EXPECT_EQ(test4_str, std::string(result.begin(), result.end()));
}
TEST(utilTests, generate_random){
/* It works, but it's not deterministic */
//EXPECT_NE(horcrux::generate_random(32), horcrux::generate_random(32));
//EXPECT_NE(horcrux::generate_random(16), horcrux::generate_random(16));
//EXPECT_NE(horcrux::generate_random(8), horcrux::generate_random(8));
//EXPECT_NE(horcrux::generate_random(1), horcrux::generate_random(1));
EXPECT_EQ(horcrux::generate_random(0), horcrux::generate_random(0));
}