naming_test.cpp
Go to the documentation of this file.
1 #include <catch2/catch_all.hpp>
2 
3 #include "../../src/utility/EepromDataParser.hpp"
4 
5 struct ProductDevice {
7 };
8 std::vector<ProductDevice> productToDeviceNames = {
9  {"OAK-D LR", "OAK-D-LR", "OAK-D-LR"},
10  {"OAK-D", "OAK-D", "OAK-D"},
11  {"OAK-FFC 1P PoE", "OAK-FFC-1P-POE", "OAK-FFC-1P-POE"},
12  {"OAK-FFC 4P", "OAK-FFC-4P", "OAK-FFC-4P"},
13  {"OAK-FFC 3P", "OAK-FFC-3P", "OAK-FFC-3P"},
14  {"OAK-D CM4", "OAK-D-CM4", "OAK-D-CM4"},
15  {"OAK-D SR", "OAK-D-SR", "OAK-D-SR"},
16  {"OAK-D PoE AF", "OAK-D-POE-AF", "OAK-D-POE"},
17  {"OAK-D CM4 PoE", "OAK-D-CM4-POE", "OAK-D-CM4-POE"},
18  {"rae", "RAE", "RAE"},
19  {"OAK-FFC 6P", "OAK-FFC-6P", "OAK-FFC-6P"},
20  {"OAK-D Lite", "OAK-D-LITE", "OAK-D-LITE"},
21  {"OAK-D S2 AF", "OAK-D-S2-AF", "OAK-D-S2"},
22  {"OAK-D S2 FF", "OAK-D-S2-FF", "OAK-D-S2"},
23  {"OAK-D W", "OAK-D-W", "OAK-D-W"},
24  {"OAK-D Pro AF", "OAK-D-PRO-AF", "OAK-D-PRO"},
25  {"OAK-D Pro FF 97", "OAK-D-PRO-FF-97", "OAK-D-PRO"},
26  {"OAK-D Pro FF", "OAK-D-PRO-FF", "OAK-D-PRO"},
27  {"OAK-D Pro W 97", "OAK-D-PRO-W-97", "OAK-D-PRO-W"},
28  {"OAK-D Pro W OV9782", "OAK-D-PRO-W-OV9782", "OAK-D-PRO-W"},
29  {"OAK-D Pro W", "OAK-D-PRO-W", "OAK-D-PRO-W"},
30  {"OAK-D S2 AF", "OAK-D-S2-AF", "OAK-D-S2"},
31  {"OAK-D S2 FF", "OAK-D-S2-FF", "OAK-D-S2"},
32  {"OAK-D W", "OAK-D-W", "OAK-D-W"},
33  {"OAK-D W 97", "OAK-D-W-97", "OAK-D-W"},
34  {"OAK-D SR PoE", "OAK-D-SR-POE", "OAK-D-SR-POE"},
35  {"OAK-FFC-4P PoE", "OAK-FFC-4P-POE", "OAK-FFC-4P-POE"},
36  {"OAK-1 AF", "OAK-1-AF", "OAK-1"},
37  {"OAK-1 Lite FF", "OAK-1-LITE-FF", "OAK-1-LITE"},
38  {"OAK-1 Lite FF", "OAK-1-LITE-FF", "OAK-1-LITE"},
39  {"OAK-1 Lite W", "OAK-1-LITE-W", "OAK-1-LITE-W"},
40  {"OAK-1 Max", "OAK-1-MAX", "OAK-1-MAX"},
41  {"OAK-1 W", "OAK-1-W", "OAK-1-W"},
42  {"OAK-1 AF", "OAK-1-AF", "OAK-1"},
43  {"OAK-1-FF 97", "OAK-1-FF-97", "OAK-1"},
44  {"OAK-1 FF", "OAK-1-FF", "OAK-1"},
45  {"OAK-1 Lite FF", "OAK-1-LITE-FF", "OAK-1-LITE"},
46  {"OAK-1 Lite W", "OAK-1-LITE-W", "OAK-1-LITE-W"},
47  {"OAK-1 Max", "OAK-1-MAX", "OAK-1-MAX"},
48  {"OAK-1 W 97", "OAK-1-W-97", "OAK-1-W"},
49  {"OAK-1 W", "OAK-1-W", "OAK-1-W"},
50  {"OAK-D Pro PoE AF", "OAK-D-PRO-POE-AF", "OAK-D-PRO-POE"},
51  {"OAK-D Pro PoE FF", "OAK-D-PRO-POE-FF", "OAK-D-PRO-POE"},
52  {"OAK-D Pro W PoE", "OAK-D-PRO-W-POE", "OAK-D-PRO-W-POE"},
53  {"OAK-D Pro PoE AF", "OAK-D-PRO-POE-AF", "OAK-D-PRO-POE"},
54  {"OAK-D Pro PoE FF 97", "OAK-D-PRO-POE-FF-97", "OAK-D-PRO-POE"},
55  {"OAK-D Pro PoE FF", "OAK-D-PRO-POE-FF", "OAK-D-PRO-POE"},
56  {"OAK-D Pro W PoE", "OAK-D-PRO-W-POE", "OAK-D-PRO-W-POE"},
57  {"OAK-D S2 PoE AF", "OAK-D-S2-POE-AF", "OAK-D-S2-POE"},
58  {"OAK-D S2 PoE FF", "OAK-D-S2-POE-FF", "OAK-D-S2-POE"},
59  {"OAK-D W PoE", "OAK-D-W-POE", "OAK-D-W-POE"},
60  {"OAK-D Pro PoE AF", "OAK-D-PRO-POE-AF", "OAK-D-PRO-POE"},
61  {"OAK-D Pro PoE FF 97", "OAK-D-PRO-POE-FF-97", "OAK-D-PRO-POE"},
62  {"OAK-D Pro PoE FF", "OAK-D-PRO-POE-FF", "OAK-D-PRO-POE"},
63  {"OAK-D Pro W PoE", "OAK-D-PRO-W-POE", "OAK-D-PRO-W-POE"},
64  {"OAK-D Pro W PoE 97", "OAK-D-PRO-W-POE-97", "OAK-D-PRO-W-POE"},
65  {"OAK-D W PoE 97", "OAK-D-W-POE-97", "OAK-D-W-POE"},
66  {"OAK-1 PoE FF", "OAK-1-POE-FF", "OAK-1-POE"},
67  {"OAK-1 PoE AF", "OAK-1-POE-AF", "OAK-1-POE"},
68  {"OAK-1 W PoE 9782", "OAK-1-W-POE-9782", "OAK-1-W-POE"},
69  {"OAK-1 W PoE", "OAK-1-W-POE", "OAK-1-W-POE"},
70  {"OAK-1 W PoE 9782", "OAK-1-W-POE-9782", "OAK-1-W-POE"},
71  {"OAK-1 W PoE", "OAK-1-W-POE", "OAK-1-W-POE"},
72  {"OAK-1 PoE AF", "OAK-1-POE-AF", "OAK-1-POE"},
73  {"OAK-1 PoE FF", "OAK-1-POE-FF", "OAK-1-POE"},
74 
75  // Special cases, resolved by modifying eeprom instead
76  // {"OAK-D PoE C22", "OAK-D-POE-C22", "OAK-D-POE"},
77  // {"", "OAK-D-CM4-POE-C11", "OAK-D-CM4-POE"},
78  // {"", "OAK-D-CM4-POE-C24", "OAK-D-CM4-POE"},
79  //{"OAK-D Pro AF PB", "OAK-D-PRO-AF-PB", "OAK-D-PRO"},
80  // {"OAK-D Pro FF C13", "OAK-D-PRO-FF-C13", "OAK-D-PRO"},
81  // {"", "OAK-D-PRO-FF-C17", "OAK-D-PRO"},
82  // {"", "OAK-D-PRO-FF-PB-FF#1", "OAK-D-PRO"},
83  // {"", "OAK-D-PRO-FF-PB-FF#2", "OAK-D-PRO"},
84  // {"OAK-D Pro W C06", "OAK-D-PRO-W-C06", "OAK-D-PRO-W"},
85  // {"OAK-D Pro FF", "OAK-D-PRO-W-C16", "OAK-D-PRO-W"},
86  // {"", "OAK-D-W-C15", "OAK-D-W"},
87  // {"", "OAK-D-PRO-W-DEV", "OAK-D-PRO-W-DEV"},
88  // {"", "OAK-1-LITE-C05", "OAK-1-LITE"},
89  // {"OAK-1 AF", "OAK-1-AF-C20", "OAK-1"},
90  // {"OAK-D Pro PoE AF C18", "OAK-D-PRO-POE-AF-C18", "OAK-D-PRO-POE-C18"},
91  // {"OAK-D Pro W PoE C01", "OAK-D-PRO-W-POE-C01", "OAK-D-PRO-W-POE-C01"},
92 
93 };
94 
95 TEST_CASE("parsing") {
96  for(size_t i = 0; i < productToDeviceNames.size(); i++) {
97  INFO("Testing with iteration number: " << i);
98 
99  const auto& pd = productToDeviceNames[i];
101  data.productName = pd.productName;
102 
103  // Test parsing of device name
104  REQUIRE(pd.deviceName == dai::utility::parseDeviceName(data));
105  data.productName = pd.oldProductName;
106  REQUIRE(pd.productName == dai::utility::parseProductName(data));
107  REQUIRE(pd.deviceName == dai::utility::parseDeviceName(data));
108 
109  // Test parsing directly to device name
110  data.deviceName = pd.deviceName;
111  REQUIRE(pd.deviceName == dai::utility::parseDeviceName(data));
112  }
113 }
TEST_CASE
TEST_CASE("parsing")
Definition: naming_test.cpp:95
ProductDevice
Definition: naming_test.cpp:5
ProductDevice::oldProductName
std::string oldProductName
Definition: naming_test.cpp:6
dai::utility::parseProductName
std::string parseProductName(EepromData eeprom, EepromData eepromFactory)
Parses product name from given EepromData combination.
Definition: EepromDataParser.cpp:22
ProductDevice::deviceName
std::string deviceName
Definition: naming_test.cpp:6
DAI_SPAN_NAMESPACE_NAME::detail::data
constexpr auto data(C &c) -> decltype(c.data())
Definition: span.hpp:177
ProductDevice::productName
std::string productName
Definition: naming_test.cpp:6
productToDeviceNames
std::vector< ProductDevice > productToDeviceNames
Definition: naming_test.cpp:8
dai::utility::parseDeviceName
std::string parseDeviceName(EepromData eeprom, EepromData eepromFactory)
Parses device name from given EepromData combination.
Definition: EepromDataParser.cpp:46
dai::EepromData
Definition: EepromData.hpp:19


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19