| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*
- * Copyright 2017 Huy Cuong Nguyen
- * Copyright 2006 Jeremias Maerki
- */
- // SPDX-License-Identifier: Apache-2.0
- #include "datamatrix/DMSymbolInfo.h"
- #include "gtest/gtest.h"
- using namespace ZXing::DataMatrix;
- TEST(DMSymbolInfoTest, SymbolInfo)
- {
- auto info = SymbolInfo::Lookup(3);
- EXPECT_EQ(5, info->errorCodewords());
- EXPECT_EQ(8, info->matrixWidth());
- EXPECT_EQ(8, info->matrixHeight());
- EXPECT_EQ(10, info->symbolWidth());
- EXPECT_EQ(10, info->symbolHeight());
- info = SymbolInfo::Lookup(3, SymbolShape::RECTANGLE);
- EXPECT_EQ(7, info->errorCodewords());
- EXPECT_EQ(16, info->matrixWidth());
- EXPECT_EQ(6, info->matrixHeight());
- EXPECT_EQ(18, info->symbolWidth());
- EXPECT_EQ(8, info->symbolHeight());
- info = SymbolInfo::Lookup(9);
- EXPECT_EQ(11, info->errorCodewords());
- EXPECT_EQ(14, info->matrixWidth());
- EXPECT_EQ(6, info->matrixHeight());
- EXPECT_EQ(32, info->symbolWidth());
- EXPECT_EQ(8, info->symbolHeight());
- info = SymbolInfo::Lookup(9, SymbolShape::SQUARE);
- EXPECT_EQ(12, info->errorCodewords());
- EXPECT_EQ(14, info->matrixWidth());
- EXPECT_EQ(14, info->matrixHeight());
- EXPECT_EQ(16, info->symbolWidth());
- EXPECT_EQ(16, info->symbolHeight());
- info = SymbolInfo::Lookup(1559);
- EXPECT_EQ(nullptr, info) << "There's no rectangular symbol for more than 1558 data codewords";
- info = SymbolInfo::Lookup(50, SymbolShape::RECTANGLE);
- EXPECT_EQ(nullptr, info) << "There's no rectangular symbol for 50 data codewords";
- info = SymbolInfo::Lookup(35);
- EXPECT_EQ(24, info->symbolWidth());
- EXPECT_EQ(24, info->symbolHeight());
- int minWidth = 26;
- int minHeight = 26;
- int maxWidth = 26;
- int maxHeight = 26;
- info = SymbolInfo::Lookup(35, SymbolShape::NONE, minWidth, minHeight, maxWidth, maxHeight);
- EXPECT_EQ(26, info->symbolWidth());
- EXPECT_EQ(26, info->symbolHeight());
- info = SymbolInfo::Lookup(45, SymbolShape::NONE, minWidth, minHeight, maxWidth, maxHeight);
- EXPECT_EQ(nullptr, info);
- maxWidth = 32;
- maxHeight = 32;
- info = SymbolInfo::Lookup(35, SymbolShape::NONE, minWidth, minHeight, maxWidth, maxHeight);
- EXPECT_EQ(26, info->symbolWidth());
- EXPECT_EQ(26, info->symbolHeight());
- info = SymbolInfo::Lookup(40, SymbolShape::NONE, minWidth, minHeight, maxWidth, maxHeight);
- EXPECT_EQ(26, info->symbolWidth());
- EXPECT_EQ(26, info->symbolHeight());
- info = SymbolInfo::Lookup(45, SymbolShape::NONE, minWidth, minHeight, maxWidth, maxHeight);
- EXPECT_EQ(32, info->symbolWidth());
- EXPECT_EQ(32, info->symbolHeight());
- info = SymbolInfo::Lookup(63, SymbolShape::NONE, minWidth, minHeight, maxWidth, maxHeight);
- EXPECT_EQ(nullptr, info);
- }
|