10 #include <gtest/gtest.h>
15 using namespace testing;
26 ASSERT_NE(
nullptr, pResourceManager);
27 ASSERT_NE(
nullptr, pInstrument);
28 ASSERT_EQ(
true, pInstrument->IsOpen());
29 ASSERT_EQ(
true, pInstrument->Clear());
35 pInstrument =
nullptr;
36 delete pResourceManager;
37 pResourceManager =
nullptr;
48 ASSERT_EQ(
true, pInstrument->Write (
"*IDN?"));
52 std::this_thread::sleep_for(std::chrono::milliseconds(10));
53 ASSERT_EQ(
true, pInstrument->ReadSTB (l_Status));
54 }
while ((l_Status & 0x0010) == 0);
58 ASSERT_EQ(
true, pInstrument->ReadSTB (l_Status));
59 ASSERT_EQ(0, (l_Status & 0x0010));
61 ASSERT_EQ(
false, pInstrument->Read (l_Buffer));
64 ASSERT_EQ(
true, pInstrument->Write (
"*IDN?"));
65 ASSERT_EQ(
true, pInstrument->Read (l_Buffer));
74 ASSERT_EQ(
true, pInstrument->Write(
":TRIG:SOUR BUS;COUN 10;:INIT"));
80 for (
int i = 0; i < 10; i++)
82 ASSERT_EQ(
true, pInstrument->Write (
":STAT:OPER?"));
83 ASSERT_EQ(
true, pInstrument->Read (l_Buffer));
84 l_Result = std::string(l_Buffer.
begin(), l_Buffer.
end());
85 l_OperStatus =
static_cast<U16>(std::stoul(l_Result));
86 EXPECT_EQ(0x0020, (l_OperStatus & 0x0020));
87 ASSERT_EQ(
true, pInstrument->AssertTrigger());
88 std::this_thread::sleep_for(std::chrono::milliseconds(100));
92 ASSERT_EQ(
true, pInstrument->Write (
":STAT:OPER?"));
93 ASSERT_EQ(
true, pInstrument->Read (l_Buffer));
94 l_Result = std::string(l_Buffer.
begin(), l_Buffer.
end());
95 l_OperStatus =
static_cast<U16>(std::stoul(l_Result));
96 EXPECT_EQ(0x0000, (l_OperStatus & 0x0020));
99 ASSERT_EQ(
true, pInstrument->Write (
":FETC:ARR? 10"));
100 ASSERT_EQ(
true, pInstrument->Read (l_Buffer));
101 l_Result = std::string(l_Buffer.
begin(), l_Buffer.
end());
102 std::regex l_Regex(
"(([^,]+),){9}([^,]+)");
104 EXPECT_EQ(
true, std::regex_match(l_Result, l_Match, l_Regex));
107 ASSERT_EQ(
true, pInstrument->Write (
"*IDN?"));
108 ASSERT_EQ(
true, pInstrument->Read (l_Buffer));