| 99 | }; |
| 100 | |
| 101 | TEST_F(KernelTest, FullGraph) { |
| 102 | // Define the graph. |
| 103 | AddTensors(9, {0, 3}, {8}, kTfLiteFloat32, {3}); |
| 104 | |
| 105 | AddTfOp(testing::kUnpack, {0}, {1, 2}); |
| 106 | AddTfOp(testing::kUnpack, {3}, {4, 5}); |
| 107 | AddTfOp(testing::kAdd, {1, 4}, {6}); |
| 108 | AddTfOp(testing::kAdd, {2, 5}, {7}); |
| 109 | AddTfOp(testing::kMul, {6, 7}, {8}); |
| 110 | |
| 111 | // Apply Delegate. |
| 112 | ConfigureDelegate([](TfLiteContext* context, TfLiteDelegate* delegate) { |
| 113 | return GenericPrepare(context, delegate, {0, 1, 2, 3, 4}); |
| 114 | }); |
| 115 | |
| 116 | // Define inputs. |
| 117 | SetShape(0, {2, 2, 1}); |
| 118 | SetValues(0, {1.1f, 2.2f, 3.3f, 4.4f}); |
| 119 | SetShape(3, {2, 2, 1}); |
| 120 | SetValues(3, {1.1f, 2.2f, 3.3f, 4.4f}); |
| 121 | |
| 122 | ASSERT_TRUE(Invoke()); |
| 123 | |
| 124 | ASSERT_THAT(GetShape(8), ElementsAre(2, 1)); |
| 125 | ASSERT_THAT(GetValues(8), ElementsAre(14.52f, 38.72f)); |
| 126 | |
| 127 | // Try again with different inputs |
| 128 | SetShape(0, {2, 3, 1}); |
| 129 | SetValues(0, {2.0f, 2.0f, 3.0f, 3.0f, 4.0f, 4.0f}); |
| 130 | SetShape(3, {2, 3, 1}); |
| 131 | SetValues(3, {2.0f, 2.0f, 3.0f, 3.0f, 4.0f, 4.0f}); |
| 132 | |
| 133 | ASSERT_TRUE(Invoke()); |
| 134 | |
| 135 | ASSERT_THAT(GetShape(8), ElementsAre(3, 1)); |
| 136 | ASSERT_THAT(GetValues(8), ElementsAre(24.0f, 32.0f, 48.0f)); |
| 137 | } |
| 138 | |
| 139 | TEST_F(KernelTest, BadTensorFlowOp) { |
| 140 | AddTensors(2, {0}, {1}, kTfLiteFloat32, {3}); |
nothing calls this directly
no test coverage detected