5#include "fxbarcode/oned/BC_OnedEAN8Writer.h"
9#include "core/fxcrt/data_vector.h"
10#include "testing/gtest/include/gtest/gtest.h"
14TEST(OnedEAN8WriterTest, Encode) {
15 CBC_OnedEAN8Writer writer;
20 EXPECT_TRUE(writer.Encode(
"").empty());
21 EXPECT_TRUE(writer.Encode(
"123").empty());
22 EXPECT_TRUE(writer.Encode(
"1234567").empty());
23 EXPECT_TRUE(writer.Encode(
"123456789").empty());
25 static const char kExpected1[] =
37 DataVector<uint8_t> encoded = writer.Encode(
"12345670");
38 ASSERT_EQ(strlen(kExpected1), encoded.size());
39 for (size_t i = 0; i < strlen(kExpected1); i++)
40 EXPECT_EQ(kExpected1[i] !=
' ', !!encoded[i]) << i;
42 static const char kExpected2[] =
54 encoded = writer.Encode(
"99441104");
55 ASSERT_EQ(strlen(kExpected2), encoded.size());
56 for (size_t i = 0; i < strlen(kExpected2); i++)
57 EXPECT_EQ(kExpected2[i] !=
' ', !!encoded[i]) << i;
60TEST(OnedEAN8WriterTest, Checksum) {
61 CBC_OnedEAN8Writer writer;
virtual void InitEANWriter()
int32_t CalcChecksum(const ByteString &contents) override