5#include "fxbarcode/oned/BC_OnedEAN13Writer.h"
9#include "core/fxcrt/data_vector.h"
10#include "testing/gtest/include/gtest/gtest.h"
14TEST(OnedEAN13WriterTest, Encode) {
15 CBC_OnedEAN13Writer writer;
20 EXPECT_TRUE(writer.Encode(
"").empty());
21 EXPECT_TRUE(writer.Encode(
"123").empty());
22 EXPECT_TRUE(writer.Encode(
"123456789012").empty());
23 EXPECT_TRUE(writer.Encode(
"12345678901234").empty());
25 static const char kExpected1[] =
42 DataVector<uint8_t> encoded = writer.Encode(
"1234567890128");
43 for (size_t i = 0; i < strlen(kExpected1); i++)
44 EXPECT_EQ(kExpected1[i] !=
' ', !!encoded[i]) << i;
46 static const char kExpected2[] =
63 encoded = writer.Encode(
"7776665554440");
64 ASSERT_EQ(strlen(kExpected2), encoded.size());
65 for (size_t i = 0; i < strlen(kExpected2); i++)
66 EXPECT_EQ(kExpected2[i] !=
' ', !!encoded[i]) << i;
69TEST(OnedEAN13WriterTest, Checksum) {
70 CBC_OnedEAN13Writer writer;
virtual void InitEANWriter()
int32_t CalcChecksum(const ByteString &contents) override