mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-18 01:15:39 +00:00
SerialQueue/Map: Take the serial type as type paramater.
This is in preparation for follow-up CLs that will use typed integers for the various serial types. Bug: dawn:442 Change-Id: I5296546e96acd6ac9f7a0bfc46dc7eba40cb3cf5 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28921 Reviewed-by: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
ed2b465f86
commit
145f115c54
@@ -15,8 +15,9 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "common/SerialMap.h"
|
||||
#include "common/TypedInteger.h"
|
||||
|
||||
using TestSerialMap = SerialMap<int>;
|
||||
using TestSerialMap = SerialMap<uint64_t, int>;
|
||||
|
||||
// A number of basic tests for SerialMap that are difficult to split from one another
|
||||
TEST(SerialMap, BasicTest) {
|
||||
@@ -162,3 +163,21 @@ TEST(SerialMap, FirstSerial) {
|
||||
map.Enqueue(vector1, 6);
|
||||
EXPECT_EQ(map.FirstSerial(), 6u);
|
||||
}
|
||||
|
||||
// Test basic functionality with type integers
|
||||
TEST(SerialMap, TypedInteger) {
|
||||
using MySerial = TypedInteger<struct MySerialT, uint64_t>;
|
||||
using MySerialMap = SerialMap<MySerial, int>;
|
||||
|
||||
MySerialMap map;
|
||||
map.Enqueue(1, MySerial(0));
|
||||
map.Enqueue(2, MySerial(0));
|
||||
|
||||
std::vector<int> expectedValues = {1, 2};
|
||||
for (int value : map.IterateAll()) {
|
||||
EXPECT_EQ(expectedValues.front(), value);
|
||||
ASSERT_FALSE(expectedValues.empty());
|
||||
expectedValues.erase(expectedValues.begin());
|
||||
}
|
||||
ASSERT_TRUE(expectedValues.empty());
|
||||
}
|
||||
|
||||
@@ -15,8 +15,9 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "common/SerialQueue.h"
|
||||
#include "common/TypedInteger.h"
|
||||
|
||||
using TestSerialQueue = SerialQueue<int>;
|
||||
using TestSerialQueue = SerialQueue<uint64_t, int>;
|
||||
|
||||
// A number of basic tests for SerialQueue that are difficult to split from one another
|
||||
TEST(SerialQueue, BasicTest) {
|
||||
@@ -154,3 +155,21 @@ TEST(SerialQueue, LastSerial) {
|
||||
queue.Enqueue({2}, 1);
|
||||
EXPECT_EQ(queue.LastSerial(), 1u);
|
||||
}
|
||||
|
||||
// Test basic functionality with type integers
|
||||
TEST(SerialQueue, TypedInteger) {
|
||||
using MySerial = TypedInteger<struct MySerialT, uint64_t>;
|
||||
using MySerialQueue = SerialQueue<MySerial, int>;
|
||||
|
||||
MySerialQueue queue;
|
||||
queue.Enqueue(1, MySerial(0));
|
||||
queue.Enqueue(2, MySerial(0));
|
||||
|
||||
std::vector<int> expectedValues = {1, 2};
|
||||
for (int value : queue.IterateAll()) {
|
||||
EXPECT_EQ(expectedValues.front(), value);
|
||||
ASSERT_FALSE(expectedValues.empty());
|
||||
expectedValues.erase(expectedValues.begin());
|
||||
}
|
||||
ASSERT_TRUE(expectedValues.empty());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user