[AppContext] Integrate layer-devel
[platform/core/ml/nntrainer.git] / test / unittest / layers / layers_common_tests.cpp
index f4a7235..8e04e61 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <layers_common_tests.h>
 
+#include <app_context.h>
 #include <layer_devel.h>
 
 constexpr unsigned SAMPLE_TRIES = 10;
@@ -27,7 +28,16 @@ void LayerSemantics::SetUp() {
 
 void LayerSemantics::TearDown() {}
 
-TEST_P(LayerSemantics, createFromAppContext_pn) {}
+TEST_P(LayerSemantics, createFromAppContext_pn) {
+  auto ac = nntrainer::AppContext::Global(); /// copy intended
+  if (~(options & LayerCreateSetPropertyOptions::AVAILABLE_FROM_APP_CONTEXT)) {
+    EXPECT_THROW(ac.createObject<nntrainer::Layer>(expected_type),
+                 std::invalid_argument);
+    ac.registerFactory<nntrainer::Layer>(std::get<0>(GetParam()));
+  }
+  EXPECT_EQ(ac.createObject<nntrainer::Layer>(expected_type)->getType(),
+            expected_type);
+}
 
 TEST_P(LayerSemantics, setProperties_p) {
   /// @todo check if setProperties does not collide with layerNode designated