MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TEST

Function TEST

tensorflow/core/framework/hash_table/tensor_generator_test.cc:35–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33
34
35TEST(TensorGenerator, Simple) {
36 Status ok;
37 Status err = errors::InvalidArgument("error");
38 Tensor a(DT_INT64, TensorShape({10})), b(DT_INT64, TensorShape({10}));
39 MockProducer producer;
40 EXPECT_CALL(producer, Produce())
41 .WillOnce(::testing::Return(std::make_pair(ok, a)))
42 .WillOnce(::testing::Return(std::make_pair(ok, a)))
43 .WillOnce(::testing::Return(std::make_pair(ok, a)))
44 .WillOnce(::testing::Return(std::make_pair(ok, b)))
45 .WillOnce(::testing::Return(std::make_pair(ok, b)))
46 .WillOnce(::testing::Return(std::make_pair(ok, b)))
47 .WillOnce(::testing::Return(std::make_pair(ok, b)))
48 .WillOnce(::testing::Return(std::make_pair(err, a)))
49 .WillOnce(::testing::Return(std::make_pair(ok, b)))
50 .WillOnce(::testing::Return(std::make_pair(ok, b)))
51 .WillOnce(::testing::Return(std::make_pair(ok, b)))
52 .WillOnce(::testing::Return(std::make_pair(ok, b)))
53 .WillOnce(::testing::Return(std::make_pair(ok, b)))
54 .WillOnce(::testing::Return(std::make_pair(ok, b)));
55 Status rst_status;
56 Tensor rst_tensor;
57 TensorGenerator* generator = new TensorGenerator(
58 [&](TensorGenerator::Consumer consumer) {
59 auto rst = producer.Produce();
60 consumer(rst.first, rst.second);
61 });
62 auto consumer = [&](Status st, const Tensor& t) {
63 rst_status = st;
64 rst_tensor = t;
65 };
66 generator->GetNextTensor(consumer);
67 EXPECT_EQ(ok, rst_status);
68 EXPECT_TRUE(rst_tensor.SharesBufferWith(a));
69 generator->GetNextTensor(consumer);
70 EXPECT_EQ(ok, rst_status);
71 EXPECT_TRUE(rst_tensor.SharesBufferWith(a));
72 generator->GetNextTensor(consumer);
73 EXPECT_EQ(ok, rst_status);
74 EXPECT_TRUE(rst_tensor.SharesBufferWith(a));
75 generator->GetNextTensor(consumer);
76 EXPECT_EQ(ok, rst_status);
77 EXPECT_TRUE(rst_tensor.SharesBufferWith(b));
78 generator->GetNextTensor(consumer);
79 EXPECT_EQ(ok, rst_status);
80 EXPECT_TRUE(rst_tensor.SharesBufferWith(b));
81 generator->GetNextTensor(consumer);
82 EXPECT_EQ(ok, rst_status);
83 EXPECT_TRUE(rst_tensor.SharesBufferWith(b));
84 generator->GetNextTensor(consumer);
85 EXPECT_EQ(ok, rst_status);
86 EXPECT_TRUE(rst_tensor.SharesBufferWith(b));
87 generator->GetNextTensor(consumer);
88 EXPECT_EQ(err, rst_status);
89 EXPECT_TRUE(rst_tensor.SharesBufferWith(a));
90 EXPECT_TRUE(generator->RefCountIsOne());
91 generator->GetNextTensor(consumer);
92 EXPECT_EQ(ok, rst_status);

Callers

nothing calls this directly

Calls 7

InvalidArgumentFunction · 0.85
GetNextTensorMethod · 0.80
TensorShapeClass · 0.50
ProduceMethod · 0.45
SharesBufferWithMethod · 0.45
RefCountIsOneMethod · 0.45
UnrefMethod · 0.45

Tested by

no test coverage detected