4#include <gtest/gtest.h>
6#include <torch/torch.h>
21 ASSERT_TRUE(var.
empty());
22 ASSERT_EQ(ObjType::None, var.
getType());
29 ASSERT_EQ(ObjType::Bool, var.
getType());
32 ASSERT_EQ(ObjType::Bool, var.
getType());
35 ASSERT_EQ(ObjType::Float32, var.
getType());
38 ASSERT_EQ(ObjType::Float64, var.
getType());
41 ASSERT_EQ(ObjType::Bool, var.
getType());
44 ASSERT_EQ(ObjType::Int8, var.
getType());
47 ASSERT_EQ(ObjType::Int8, var.
getType());
50 ASSERT_EQ(ObjType::Int16, var.
getType());
53 ASSERT_EQ(ObjType::Int32, var.
getType());
56 ASSERT_EQ(ObjType::Int64, var.
getType());
59 ASSERT_EQ(ObjType::Float32, var.
getType());
62 ASSERT_EQ(ObjType::Float64, var.
getType());
65 ASSERT_EQ(ObjType::Bool, var.
getType());
68TEST(ObjTest, String) {
82 ObjPtr str_byte = Obj::CreateString(
"byte");
83 ASSERT_STREQ(
"byte", str_byte->GetValueAsString().c_str());
84 ASSERT_EQ(4, str_byte->size());
85 ASSERT_EQ(4, str_byte->m_value.size());
86 ASSERT_STREQ(
"b", (*str_byte)[0].second->GetValueAsString().c_str());
87 ASSERT_STREQ(
"y", (*str_byte)[1].second->GetValueAsString().c_str());
88 ASSERT_STREQ(
"t", (*str_byte)[2].second->GetValueAsString().c_str());
89 ASSERT_STREQ(
"e", (*str_byte)[3].second->GetValueAsString().c_str());
91 str_byte->op_set_index(0,
"B");
92 str_byte->op_set_index(1,
"Y");
93 ASSERT_STREQ(
"BYte", str_byte->GetValueAsString().c_str());
94 str_byte->op_set_index(2,
"T");
95 str_byte->op_set_index(3,
"E");
96 ASSERT_STREQ(
"BYTE", str_byte->GetValueAsString().c_str());
98 ObjPtr str_char = Obj::CreateString(L
"строка");
99 ASSERT_EQ(6, str_char->size());
100 ASSERT_EQ(6, str_char->m_string.size());
102 ASSERT_STREQ(
"с", (*str_char)[0].second->GetValueAsString().c_str());
103 ASSERT_STREQ(
"т", (*str_char)[1].second->GetValueAsString().c_str());
104 ASSERT_STREQ(
"р", (*str_char)[2].second->GetValueAsString().c_str());
105 ASSERT_STREQ(
"о", (*str_char)[3].second->GetValueAsString().c_str());
106 ASSERT_STREQ(
"к", (*str_char)[4].second->GetValueAsString().c_str());
107 ASSERT_STREQ(
"а", (*str_char)[5].second->GetValueAsString().c_str());
109 str_char->op_set_index(0,
"С");
110 str_char->op_set_index(1,
"Т");
111 ASSERT_STREQ(
"СТрока", str_char->GetValueAsString().c_str());
112 str_char->op_set_index(2,
"Р");
113 str_char->op_set_index(3,
"О");
114 ASSERT_STREQ(
"СТРОка", str_char->GetValueAsString().c_str());
virtual bool empty() const
std::enable_if< std::is_same< T, bool >::value, void >::type SetValue_(bool value)
std::shared_ptr< Obj > ObjPtr
const char * toString(TermID type)