From: ilho Date: Tue, 26 Mar 2019 11:50:22 +0000 (+0900) Subject: [Applications][TCSACR-225][Add new testcases] X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F11%2F202411%2F14;p=test%2Ftct%2Fcsharp%2Fapi.git [Applications][TCSACR-225][Add new testcases] Added: - Categories_GET() - ComponentType_GET() - GetApplications_ENUM_WIDGET() - GetApplications_ENUM_WATCH() - GetApplications_COMPONENT_TYPE_ENUM_UI() - GetApplications_COMPONENT_TYPE_ENUM_SERVICE() - GetApplications_COMPONENT_TYPE_ENUM_WIDGET() - GetApplications_COMPONENT_TYPE_ENUM_WATCH() Change-Id: Ie01564fd827fa4ce6576c8a859fb7c9b62f30bea Signed-off-by: ilho --- diff --git a/tct-suite-vs/Resource/Tizen.Applications.Tests/BasicWebApp01.wgt b/tct-suite-vs/Resource/Tizen.Applications.Tests/BasicWebApp01.wgt old mode 100755 new mode 100644 index bda7770..0e9ecc8 Binary files a/tct-suite-vs/Resource/Tizen.Applications.Tests/BasicWebApp01.wgt and b/tct-suite-vs/Resource/Tizen.Applications.Tests/BasicWebApp01.wgt differ diff --git a/tct-suite-vs/Resource/Tizen.Applications.Tests/code/BasicWebApp01/BasicWebApp01/config.xml b/tct-suite-vs/Resource/Tizen.Applications.Tests/code/BasicWebApp01/BasicWebApp01/config.xml index 7428d3f..1adcb46 100755 --- a/tct-suite-vs/Resource/Tizen.Applications.Tests/code/BasicWebApp01/BasicWebApp01/config.xml +++ b/tct-suite-vs/Resource/Tizen.Applications.Tests/code/BasicWebApp01/BasicWebApp01/config.xml @@ -7,4 +7,6 @@ BasicWebApp01 + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.cproject b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.cproject index 5ec36a4..4675aff 100755 --- a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.cproject +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.cproject @@ -21,17 +21,18 @@ - + - + @@ -569,4 +597,13 @@ + + + + + + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.project b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.project index f88d21c..446eea7 100755 --- a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.project +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.project @@ -3,6 +3,7 @@ TpkPkgTest + TpkWidgetTest TpkServiceTest @@ -26,7 +27,7 @@ - 1468919586525 + 1554281569328 26 @@ -35,7 +36,7 @@ - 1468919586528 + 1554281569328 6 diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.tproject b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.tproject index 372b03a..2eb780a 100755 --- a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.tproject +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkPkgTest/.tproject @@ -10,6 +10,7 @@ + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.cproject b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.cproject new file mode 100644 index 0000000..9535ba0 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.cproject @@ -0,0 +1,614 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.exportMap b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.exportMap new file mode 100644 index 0000000..de30516 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.exportMap @@ -0,0 +1,5 @@ +{ + global: main; + _IO_*; + local: *; +}; diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.project b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.project new file mode 100644 index 0000000..bd394a7 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.project @@ -0,0 +1,46 @@ + + + TpkServiceTest + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + 1554264991831 + + 26 + + org.eclipse.ui.ide.multiFilter + 1.0-projectRelativePath-matches-false-false-*/.tpk + + + + 1554264991832 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-project_def.prop + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.tproject b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.tproject new file mode 100644 index 0000000..56660b2 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/.tproject @@ -0,0 +1,12 @@ + + + + + mobile-3.0 + + + + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/inc/tpkservicetest.h b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/inc/tpkservicetest.h new file mode 100644 index 0000000..8c5e5ec --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/inc/tpkservicetest.h @@ -0,0 +1,12 @@ +#ifndef __tpkservicetest_H__ +#define __tpkservicetest_H__ + +#include + +#ifdef LOG_TAG +#undef LOG_TAG +#endif +#define LOG_TAG "tpkservicetest" + + +#endif /* __tpkservicetest_H__ */ diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/project_def.prop b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/project_def.prop new file mode 100644 index 0000000..438e156 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/project_def.prop @@ -0,0 +1,11 @@ +APPNAME = tpkservicetest + +type = app +profile = mobile-3.0 + +USER_SRCS = src/tpkservicetest.c +USER_DEFS = +USER_INC_DIRS = inc +USER_OBJS = +USER_LIBS = +USER_EDCS = diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/shared/res/tpkservicetest.png b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/shared/res/tpkservicetest.png new file mode 100644 index 0000000..9765b1b Binary files /dev/null and b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/shared/res/tpkservicetest.png differ diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/src/tpkservicetest.c b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/src/tpkservicetest.c new file mode 100644 index 0000000..6872a3f --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/src/tpkservicetest.c @@ -0,0 +1,61 @@ +#include +#include +#include "tpkservicetest.h" + +bool service_app_create(void *data) +{ +return true; +} + +void service_app_terminate(void *data) +{ +return; +} + +void service_app_control(app_control_h app_control, void *data) +{ +return; +} + +static void +service_app_lang_changed(app_event_info_h event_info, void *user_data) +{ +/*APP_EVENT_LANGUAGE_CHANGED*/ +return; +} + +static void +service_app_region_changed(app_event_info_h event_info, void *user_data) +{ +/*APP_EVENT_REGION_FORMAT_CHANGED*/ +} + +static void +service_app_low_battery(app_event_info_h event_info, void *user_data) +{ +/*APP_EVENT_LOW_BATTERY*/ +} + +static void +service_app_low_memory(app_event_info_h event_info, void *user_data) +{ +/*APP_EVENT_LOW_MEMORY*/ +} + +int main(int argc, char* argv[]) +{ +char ad[50] = {0,}; +service_app_lifecycle_callback_s event_callback; +app_event_handler_h handlers[5] = {NULL, }; + +event_callback.create = service_app_create; +event_callback.terminate = service_app_terminate; +event_callback.app_control = service_app_control; + +service_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, service_app_low_battery, &ad); +service_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, service_app_low_memory, &ad); +service_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, service_app_lang_changed, &ad); +service_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, service_app_region_changed, &ad); + +return service_app_main(argc, argv, &event_callback, ad); +} diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/tizen-manifest.xml b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/tizen-manifest.xml new file mode 100644 index 0000000..bfb24f0 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkServiceTest/tizen-manifest.xml @@ -0,0 +1,8 @@ + + + + + tpkservicetest.png + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.cproject b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.cproject new file mode 100644 index 0000000..0417824 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.cproject @@ -0,0 +1,613 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.exportMap b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.exportMap new file mode 100644 index 0000000..de30516 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.exportMap @@ -0,0 +1,5 @@ +{ + global: main; + _IO_*; + local: *; +}; diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.project b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.project new file mode 100644 index 0000000..130db52 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.project @@ -0,0 +1,46 @@ + + + TpkWatchTest + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + 1554339838824 + + 26 + + org.eclipse.ui.ide.multiFilter + 1.0-projectRelativePath-matches-false-false-*/.tpk + + + + 1554339838825 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-project_def.prop + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.tproject b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.tproject new file mode 100644 index 0000000..ccab492 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/.tproject @@ -0,0 +1,12 @@ + + + + + wearable-5.0 + + + + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/inc/tpkwatchtest.h b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/inc/tpkwatchtest.h new file mode 100644 index 0000000..a3462eb --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/inc/tpkwatchtest.h @@ -0,0 +1,18 @@ +#ifndef __tpkwatchtest_H__ +#define __tpkwatchtest_H__ + +#include +#include +#include +#include + +#ifdef LOG_TAG +#undef LOG_TAG +#endif +#define LOG_TAG "tpkwatchtest" + +#if !defined(PACKAGE) +#define PACKAGE "org.example.tpkwatchtest" +#endif + +#endif /* __tpkwatchtest_H__ */ diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/project_def.prop b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/project_def.prop new file mode 100644 index 0000000..f785803 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/project_def.prop @@ -0,0 +1,11 @@ +APPNAME = tpkwatchtest + +type = app +profile = wearable-5.0 + +USER_SRCS = src/tpkwatchtest.c +USER_DEFS = +USER_INC_DIRS = inc +USER_OBJS = +USER_LIBS = +USER_EDCS = diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/shared/res/tpkwatchtest.png b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/shared/res/tpkwatchtest.png new file mode 100644 index 0000000..9765b1b Binary files /dev/null and b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/shared/res/tpkwatchtest.png differ diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/src/tpkwatchtest.c b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/src/tpkwatchtest.c new file mode 100644 index 0000000..79c15dd --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/src/tpkwatchtest.c @@ -0,0 +1,180 @@ +#include +#include "tpkwatchtest.h" + +typedef struct appdata { + Evas_Object *win; + Evas_Object *conform; + Evas_Object *label; +} appdata_s; + +#define TEXT_BUF_SIZE 256 + +static void +update_watch(appdata_s *ad, watch_time_h watch_time, int ambient) +{ + char watch_text[TEXT_BUF_SIZE]; + int hour24, minute, second; + + if (watch_time == NULL) + return; + + watch_time_get_hour24(watch_time, &hour24); + watch_time_get_minute(watch_time, &minute); + watch_time_get_second(watch_time, &second); + if (!ambient) { + snprintf(watch_text, TEXT_BUF_SIZE, "Hello Watch
%02d:%02d:%02d", + hour24, minute, second); + } else { + snprintf(watch_text, TEXT_BUF_SIZE, "Hello Watch
%02d:%02d", + hour24, minute); + } + + elm_object_text_set(ad->label, watch_text); +} + +static void +create_base_gui(appdata_s *ad, int width, int height) +{ + int ret; + watch_time_h watch_time = NULL; + + /* Window */ + ret = watch_app_get_elm_win(&ad->win); + if (ret != APP_ERROR_NONE) { + dlog_print(DLOG_ERROR, LOG_TAG, "failed to get window. err = %d", ret); + return; + } + + evas_object_resize(ad->win, width, height); + + /* Conformant */ + ad->conform = elm_conformant_add(ad->win); + evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(ad->win, ad->conform); + evas_object_show(ad->conform); + + /* Label*/ + ad->label = elm_label_add(ad->conform); + evas_object_resize(ad->label, width, height / 3); + evas_object_move(ad->label, 0, height / 3); + evas_object_show(ad->label); + + ret = watch_time_get_current_time(&watch_time); + if (ret != APP_ERROR_NONE) + dlog_print(DLOG_ERROR, LOG_TAG, "failed to get current time. err = %d", ret); + + update_watch(ad, watch_time, 0); + watch_time_delete(watch_time); + + /* Show window after base gui is set up */ + evas_object_show(ad->win); +} + +static bool +app_create(int width, int height, void *data) +{ + /* Hook to take necessary actions before main event loop starts + Initialize UI resources and application's data + If this function returns true, the main loop of application starts + If this function returns false, the application is terminated */ + appdata_s *ad = data; + + create_base_gui(ad, width, height); + + return true; +} + +static void +app_control(app_control_h app_control, void *data) +{ + /* Handle the launch request. */ +} + +static void +app_pause(void *data) +{ + /* Take necessary actions when application becomes invisible. */ +} + +static void +app_resume(void *data) +{ + /* Take necessary actions when application becomes visible. */ +} + +static void +app_terminate(void *data) +{ + /* Release all resources. */ +} + +static void +app_time_tick(watch_time_h watch_time, void *data) +{ + /* Called at each second while your app is visible. Update watch UI. */ + appdata_s *ad = data; + update_watch(ad, watch_time, 0); +} + +static void +app_ambient_tick(watch_time_h watch_time, void *data) +{ + /* Called at each minute while the device is in ambient mode. Update watch UI. */ + appdata_s *ad = data; + update_watch(ad, watch_time, 1); +} + +static void +app_ambient_changed(bool ambient_mode, void *data) +{ + /* Update your watch UI to conform to the ambient mode */ +} + +static void +watch_app_lang_changed(app_event_info_h event_info, void *user_data) +{ + /*APP_EVENT_LANGUAGE_CHANGED*/ + char *locale = NULL; + app_event_get_language(event_info, &locale); + elm_language_set(locale); + free(locale); + return; +} + +static void +watch_app_region_changed(app_event_info_h event_info, void *user_data) +{ + /*APP_EVENT_REGION_FORMAT_CHANGED*/ +} + +int +main(int argc, char *argv[]) +{ + appdata_s ad = {0,}; + int ret = 0; + + watch_app_lifecycle_callback_s event_callback = {0,}; + app_event_handler_h handlers[5] = {NULL, }; + + event_callback.create = app_create; + event_callback.terminate = app_terminate; + event_callback.pause = app_pause; + event_callback.resume = app_resume; + event_callback.app_control = app_control; + event_callback.time_tick = app_time_tick; + event_callback.ambient_tick = app_ambient_tick; + event_callback.ambient_changed = app_ambient_changed; + + watch_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], + APP_EVENT_LANGUAGE_CHANGED, watch_app_lang_changed, &ad); + watch_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], + APP_EVENT_REGION_FORMAT_CHANGED, watch_app_region_changed, &ad); + + ret = watch_app_main(argc, argv, &event_callback, &ad); + if (ret != APP_ERROR_NONE) { + dlog_print(DLOG_ERROR, LOG_TAG, "watch_app_main() is failed. err = %d", ret); + } + + return ret; +} + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/tizen-manifest.xml b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/tizen-manifest.xml new file mode 100644 index 0000000..7b18d9b --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWatchTest/tizen-manifest.xml @@ -0,0 +1,11 @@ + + + + + + tpkwatchtest.png + + + http://tizen.org/privilege/alarm.set + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.cproject b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.cproject new file mode 100644 index 0000000..a4b39b0 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.cproject @@ -0,0 +1,614 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.exportMap b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.exportMap new file mode 100644 index 0000000..de30516 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.exportMap @@ -0,0 +1,5 @@ +{ + global: main; + _IO_*; + local: *; +}; diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.project b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.project new file mode 100644 index 0000000..9191adb --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.project @@ -0,0 +1,46 @@ + + + TpkWidgetTest + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + 1554279795993 + + 26 + + org.eclipse.ui.ide.multiFilter + 1.0-projectRelativePath-matches-false-false-*/.tpk + + + + 1554279795995 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-project_def.prop + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.tproject b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.tproject new file mode 100644 index 0000000..56660b2 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/.tproject @@ -0,0 +1,12 @@ + + + + + mobile-3.0 + + + + + + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/inc/tpkwidgettest.h b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/inc/tpkwidgettest.h new file mode 100644 index 0000000..318a6c3 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/inc/tpkwidgettest.h @@ -0,0 +1,18 @@ +#ifndef __tpkwidgettest_H__ +#define __tpkwidgettest_H__ + +#include +#include +#include +#include + +#ifdef LOG_TAG +#undef LOG_TAG +#endif +#define LOG_TAG "tpkwidgettest" + +#if !defined(PACKAGE) +#define PACKAGE "org.example.tpkwidgettest" +#endif + +#endif /* __tpkwidgettest_H__ */ diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/project_def.prop b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/project_def.prop new file mode 100644 index 0000000..be3e925 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/project_def.prop @@ -0,0 +1,11 @@ +APPNAME = tpkwidgettest + +type = app +profile = mobile-3.0 + +USER_SRCS = src/tpkwidgettest.c +USER_DEFS = +USER_INC_DIRS = inc +USER_OBJS = +USER_LIBS = +USER_EDCS = diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/shared/res/preview.png b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/shared/res/preview.png new file mode 100644 index 0000000..acf5670 Binary files /dev/null and b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/shared/res/preview.png differ diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/shared/res/tpkwidgettest.png b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/shared/res/tpkwidgettest.png new file mode 100644 index 0000000..9765b1b Binary files /dev/null and b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/shared/res/tpkwidgettest.png differ diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/src/tpkwidgettest.c b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/src/tpkwidgettest.c new file mode 100644 index 0000000..58d45d0 --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/src/tpkwidgettest.c @@ -0,0 +1,166 @@ +#include +#include "tpkwidgettest.h" + +typedef struct widget_instance_data { +Evas_Object *win; +Evas_Object *conform; +Evas_Object *label; +} widget_instance_data_s; + +static int +widget_instance_create(widget_context_h context, bundle *content, int w, int h, void *user_data) +{ +widget_instance_data_s *wid = (widget_instance_data_s*) malloc(sizeof(widget_instance_data_s)); +int ret; + +if (content != NULL) { +/* Recover the previous status with the bundle object. */ + +} + +/* Window */ +ret = widget_app_get_elm_win(context, &wid->win); +if (ret != WIDGET_ERROR_NONE) { +dlog_print(DLOG_ERROR, LOG_TAG, "failed to get window. err = %d", ret); +return WIDGET_ERROR_FAULT; +} + +evas_object_resize(wid->win, w, h); + +/* Conformant */ +wid->conform = elm_conformant_add(wid->win); +evas_object_size_hint_weight_set(wid->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); +elm_win_resize_object_add(wid->win, wid->conform); +evas_object_show(wid->conform); + +Evas_Object *rect; +rect = evas_object_rectangle_add(evas_object_evas_get(wid->win)); +evas_object_resize(rect, w, h); +evas_object_move(rect, 0, 0); +evas_object_color_set(rect, 100, 100, 100, 255); +evas_object_show(rect); + +/* Label*/ +wid->label = elm_label_add(wid->conform); +evas_object_resize(wid->label, w, h / 3); +evas_object_move(wid->label, w / 4, h / 3); +evas_object_show(wid->label); +elm_object_text_set(wid->label, "Hello widget"); + +/* Show window after base gui is set up */ +evas_object_show(wid->win); + +widget_app_context_set_tag(context, wid); +return WIDGET_ERROR_NONE; +} + +static int +widget_instance_destroy(widget_context_h context, widget_app_destroy_type_e reason, bundle *content, void *user_data) +{ +widget_instance_data_s *wid = NULL; +widget_app_context_get_tag(context,(void**)&wid); + +if (wid->win) +evas_object_del(wid->win); + +free(wid); + +return WIDGET_ERROR_NONE; +} + +static int +widget_instance_pause(widget_context_h context, void *user_data) +{ +/* Take necessary actions when widget instance becomes invisible. */ +return WIDGET_ERROR_NONE; + +} + +static int +widget_instance_resume(widget_context_h context, void *user_data) +{ +/* Take necessary actions when widget instance becomes visible. */ +return WIDGET_ERROR_NONE; +} + +static int +widget_instance_update(widget_context_h context, bundle *content, +int force, void *user_data) +{ +/* Take necessary actions when widget instance should be updated. */ +return WIDGET_ERROR_NONE; +} + +static int +widget_instance_resize(widget_context_h context, int w, int h, void *user_data) +{ +/* Take necessary actions when the size of widget instance was changed. */ +return WIDGET_ERROR_NONE; +} + +static void +widget_app_lang_changed(app_event_info_h event_info, void *user_data) +{ +/* APP_EVENT_LANGUAGE_CHANGED */ +char *locale = NULL; +app_event_get_language(event_info, &locale); +elm_language_set(locale); +free(locale); +} + +static void +widget_app_region_changed(app_event_info_h event_info, void *user_data) +{ +/* APP_EVENT_REGION_FORMAT_CHANGED */ +} + +static widget_class_h +widget_app_create(void *user_data) +{ +/* Hook to take necessary actions before main event loop starts. + Initialize UI resources. + Make a class for widget instance. +*/ +app_event_handler_h handlers[5] = {NULL, }; + +widget_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], +APP_EVENT_LANGUAGE_CHANGED, widget_app_lang_changed, user_data); +widget_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], +APP_EVENT_REGION_FORMAT_CHANGED, widget_app_region_changed, user_data); + +widget_instance_lifecycle_callback_s ops = { +.create = widget_instance_create, +.destroy = widget_instance_destroy, +.pause = widget_instance_pause, +.resume = widget_instance_resume, +.update = widget_instance_update, +.resize = widget_instance_resize, +}; + +return widget_app_class_create(ops, user_data); +} + +static void +widget_app_terminate(void *user_data) +{ +/* Release all resources. */ +} + +int +main(int argc, char *argv[]) +{ +widget_app_lifecycle_callback_s ops = {0,}; +int ret; + +ops.create = widget_app_create; +ops.terminate = widget_app_terminate; + +ret = widget_app_main(argc, argv, &ops, NULL); +if (ret != WIDGET_ERROR_NONE) { +dlog_print(DLOG_ERROR, LOG_TAG, "widget_app_main() is failed. err = %d", ret); +} + +return ret; +} + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/tizen-manifest.xml b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/tizen-manifest.xml new file mode 100644 index 0000000..8f5f6ec --- /dev/null +++ b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/source/TpkWidgetTest/tizen-manifest.xml @@ -0,0 +1,9 @@ + + + + + + tpkwidgettest.png + 2x2 + + diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/tpkpkgtest.tpk b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/tpkpkgtest.tpk old mode 100755 new mode 100644 index b7ffea7..015c510 Binary files a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/tpkpkgtest.tpk and b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/tpkpkgtest.tpk differ diff --git a/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/tpkwatchtest.tpk b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/tpkwatchtest.tpk new file mode 100644 index 0000000..b8852f3 Binary files /dev/null and b/tct-suite-vs/Resource/Tizen.Packagemanager.Tests/tpkwatchtest.tpk differ diff --git a/tct-suite-vs/Tizen.Applications.Tests/testcase/TSApplicationInfo.cs b/tct-suite-vs/Tizen.Applications.Tests/testcase/TSApplicationInfo.cs old mode 100755 new mode 100644 index 5255f8e..0dc57ef --- a/tct-suite-vs/Tizen.Applications.Tests/testcase/TSApplicationInfo.cs +++ b/tct-suite-vs/Tizen.Applications.Tests/testcase/TSApplicationInfo.cs @@ -1,10 +1,12 @@ using NUnit.Framework; using NUnit.Framework.TUnit; +using System.Collections.Generic; +using System.Linq; namespace Tizen.Applications.Tests { /* ***********************************************************************/ - // ** Scenario - Check all properties of application. + // ** Scenario - Check all properties of application. // ** - get localized label of an application /* ***********************************************************************/ @@ -16,6 +18,8 @@ namespace Tizen.Applications.Tests private const string AppId = "0pOuHwKNsr.BasicWebApp01"; private const string AppLocalLabel = "BasicWebApp01"; private const string MetaKey = "myMetaDataKey1"; + private const string CategoryName1 = "myCategory1"; + private const string CategoryName2 = "myCategory2"; private const string ExecutablePath = "/bin/0pOuHwKNsr.BasicWebApp01"; private const string IconPath = "/shared/res/0pOuHwKNsr.BasicWebApp01.png"; private const string AppType = "webapp"; @@ -36,7 +40,7 @@ namespace Tizen.Applications.Tests [TearDown] public void Destroy() - { + { } [Test]//pass @@ -109,6 +113,26 @@ namespace Tizen.Applications.Tests [Test] [Category("P1")] + [Description("Test property Categories of ApplicationInfo.")] + [Property("SPEC", "Tizen.Applications.ApplicationInfo.Categories A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRO")] + [Property("AUTHOR", "Ilho Kim, ilho159.kim@samsung.com")] + public void Categories_GET() + { + string[] categoryList = new string[] { CategoryName1, CategoryName2 }; + var categories = _appInfor.Categories; + Assert.IsTrue(categories is IEnumerable, "ApplicationInfo categories should be of type IEnumerable"); + Assert.IsNotNull(categories, "categories list should not be null"); + Assert.AreEqual(categories.Count(), 0, "Number elements of returned list of categories should correct"); + foreach (string category in categories) + { + Assert.IsTrue(categoryList.Contains(category), "return key should be in keyList"); + } + } + + [Test] + [Category("P1")] [Description("Test property IconPath of ApplicationInfo.")] [Property("SPEC", "Tizen.Applications.ApplicationInfo.IconPath A")] [Property("SPEC_URL", "-")] @@ -133,6 +157,19 @@ namespace Tizen.Applications.Tests [Test] [Category("P1")] + [Description("Test property ComponentType of ApplicationInfo.")] + [Property("SPEC", "Tizen.Applications.ApplicationInfo.ComponentType A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRO")] + [Property("AUTHOR", "Ilho Kim, ilho159.kim@samsung.com")] + public void ComponentType_GET() + { + ApplicationComponentType result = _appInfor.ComponentType; + Assert.IsTrue(result == ApplicationComponentType.UIApplication, "Application component type of " + AppId + " is not correct"); + } + + [Test] + [Category("P1")] [Description("Test property ApplicationType of ApplicationInfo.")] [Property("SPEC", "Tizen.Applications.ApplicationInfo.ApplicationType A")] [Property("SPEC_URL", "-")] diff --git a/tct-suite-vs/Tizen.Packagemanager.Tests/testcase/TSPackage.cs b/tct-suite-vs/Tizen.Packagemanager.Tests/testcase/TSPackage.cs old mode 100755 new mode 100644 index 49663a8..b352e80 --- a/tct-suite-vs/Tizen.Packagemanager.Tests/testcase/TSPackage.cs +++ b/tct-suite-vs/Tizen.Packagemanager.Tests/testcase/TSPackage.cs @@ -17,15 +17,17 @@ namespace Tizen.Applications.Tests [Description("Tizen.Applications.Package test class")] public class PackageTests { - private Package TpkPackage = null; - private Package WgtPackage = null; + private Package _tpkPackage = null; + private Package _wgtPackage = null; + private Package _watchPackage = null; private const string MainAppId = "tpkpkgtest"; [TestFixtureSetUp] public void Init() { - TpkPackage = TestHelper.TpkPackage; - WgtPackage = TestHelper.WgtPackage; + _tpkPackage = TestHelper.TpkPackage; + _wgtPackage = TestHelper.WgtPackage; + _watchPackage = TestHelper.WatchPackage; } [TestFixtureTearDown] @@ -43,10 +45,10 @@ namespace Tizen.Applications.Tests public void GetApplications_RETURN_VALUE() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); // TEST CODE - var appList = TpkPackage.GetApplications(); + var appList = _tpkPackage.GetApplications(); Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); Assert.IsNotNull(appList, "Application list should not be null"); Assert.IsNotEmpty(appList, "Application list should not be empty."); @@ -65,8 +67,8 @@ namespace Tizen.Applications.Tests public void CompareCertInfo_RETURN_VALUE() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "PRECONDITION: Test package list should not be empty"); - CertCompareResultType result = TpkPackage.CompareCertInfo(TpkPackage.Id); + Assert.IsNotNull(_tpkPackage, "PRECONDITION: Test package list should not be empty"); + CertCompareResultType result = _tpkPackage.CompareCertInfo(_tpkPackage.Id); Assert.IsTrue(result == CertCompareResultType.Match || result == CertCompareResultType.BothNoCert, "Failed to compare certificate"); } @@ -82,10 +84,10 @@ namespace Tizen.Applications.Tests public void GetApplications_ENUM_ALL() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); // TEST CODE - var appList = TpkPackage.GetApplications(ApplicationType.All); + var appList = _tpkPackage.GetApplications(ApplicationType.All); Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); Assert.IsNotNull(appList, "Application list should not be null"); Assert.IsNotEmpty(appList, "Application list should not be empty."); @@ -105,10 +107,10 @@ namespace Tizen.Applications.Tests public void GetApplications_ENUM_UI() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); // TEST CODE - var appList = TpkPackage.GetApplications(ApplicationType.Ui); + var appList = _tpkPackage.GetApplications(ApplicationType.Ui); Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); Assert.IsNotNull(appList, "Application list should not be null"); Assert.IsNotEmpty(appList, "Application list should not be empty."); @@ -128,10 +130,10 @@ namespace Tizen.Applications.Tests public void GetApplications_ENUM_SERVICE() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); // TEST CODE - var appList = TpkPackage.GetApplications(ApplicationType.Service); + var appList = _tpkPackage.GetApplications(ApplicationType.Service); Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); Assert.IsNotNull(appList, "Application list should not be null"); Assert.IsNotEmpty(appList, "Application list should not be empty."); @@ -142,6 +144,144 @@ namespace Tizen.Applications.Tests [Test] [Category("P1")] + [Description("Checks value returns from GetApplications(AppType.Widget)")] + [Property("SPEC", "Tizen.Applications.Package.GetApplications M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MAE")] + [Property("AUTHOR", "Ilho Kim, ilho159.kim@samsung.com")] + [Property("COVPARAM", "Tizen.Applications.ApplicationType")] + public void GetApplications_ENUM_WIDGET() + { + // PRECONDITION + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); + + // TEST CODE + var appList = _tpkPackage.GetApplications(ApplicationType.Widget); + Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); + Assert.IsNotNull(appList, "Application list should not be null"); + Assert.IsNotEmpty(appList, "Application list should not be empty."); + + int appCount = appList.ToList().Count; + Assert.IsTrue(TpkTestData.WidgetAppCount == appCount, string.Format("Wrong App Count, Expected: {0}, Actual: {1}", TpkTestData.WidgetAppCount, appCount)); + } + + [Test] + [Category("P1")] + [Description("Checks value returns from GetApplications(AppType.Watch)")] + [Property("SPEC", "Tizen.Applications.Package.GetApplications M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MAE")] + [Property("AUTHOR", "Ilho Kim, ilho159.kim@samsung.com")] + [Property("COVPARAM", "Tizen.Applications.ApplicationType")] + public void GetApplications_ENUM_WATCH() + { + // PRECONDITION + Assert.IsNotNull(_watchPackage, "Precondition failed: testPackage should not be null"); + + // TEST CODE + var appList = _watchPackage.GetApplications(ApplicationType.Watch); + Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); + Assert.IsNotNull(appList, "Application list should not be null"); + Assert.IsNotEmpty(appList, "Application list should not be empty."); + + int appCount = appList.ToList().Count; + Assert.IsTrue(WatchTestData.WatchAppCount == appCount, string.Format("Wrong App Count, Expected: {0}, Actual: {1}", WatchTestData.WatchAppCount, appCount)); + } + + [Test] + [Category("P1")] + [Description("Checks value returns from GetApplications(ComponentType.UI)")] + [Property("SPEC", "Tizen.Applications.Package.GetApplications M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MAE")] + [Property("AUTHOR", "Ilho Kim, ilho159.kim@samsung.com")] + [Property("COVPARAM", "Tizen.Applications.ApplicationComponentType")] + public void GetApplications_COMPONENT_TYPE_ENUM_UI() + { + // PRECONDITION + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); + + // TEST CODE + var appList = _tpkPackage.GetApplications(ApplicationComponentType.UIApplication); + Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); + Assert.IsNotNull(appList, "Application list should not be null"); + Assert.IsNotEmpty(appList, "Application list should not be empty."); + + int appCount = appList.ToList().Count; + Assert.IsTrue(TpkTestData.UiAppCount == appCount, string.Format("Wrong App Count, Expected: {0}, Actual: {1}", TpkTestData.UiAppCount, appCount)); + } + + [Test] + [Category("P1")] + [Description("Checks value returns from GetApplications(ComponentType.Service)")] + [Property("SPEC", "Tizen.Applications.Package.GetApplications M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MAE")] + [Property("AUTHOR", "Ilho Kim, ilho159.kim@samsung.com")] + [Property("COVPARAM", "Tizen.Applications.ApplicationComponentType")] + public void GetApplications_COMPONENT_TYPE_ENUM_SERVICE() + { + // PRECONDITION + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); + + // TEST CODE + var appList = _tpkPackage.GetApplications(ApplicationComponentType.ServiceApplication); + Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); + Assert.IsNotNull(appList, "Application list should not be null"); + Assert.IsNotEmpty(appList, "Application list should not be empty."); + + int appCount = appList.ToList().Count; + Assert.IsTrue(TpkTestData.ServiceAppCount == appCount, string.Format("Wrong App Count, Expected: {0}, Actual: {1}", TpkTestData.ServiceAppCount, appCount)); + } + + [Test] + [Category("P1")] + [Description("Checks value returns from GetApplications(ComponentType.Widget)")] + [Property("SPEC", "Tizen.Applications.Package.GetApplications M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MAE")] + [Property("AUTHOR", "Ilho Kim, ilho159.kim@samsung.com")] + [Property("COVPARAM", "Tizen.Applications.ApplicationComponentType")] + public void GetApplications_COMPONENT_TYPE_ENUM_WIDGET() + { + // PRECONDITION + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); + + // TEST CODE + var appList = _tpkPackage.GetApplications(ApplicationComponentType.WidgetApplication); + Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); + Assert.IsNotNull(appList, "Application list should not be null"); + Assert.IsNotEmpty(appList, "Application list should not be empty."); + + int appCount = appList.ToList().Count; + Assert.IsTrue(TpkTestData.WidgetAppCount == appCount, string.Format("Wrong App Count, Expected: {0}, Actual: {1}", TpkTestData.WidgetAppCount, appCount)); + } + + [Test] + [Category("P1")] + [Description("Checks value returns from GetApplications(ComponentType.Watch)")] + [Property("SPEC", "Tizen.Applications.Package.GetApplications M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MAE")] + [Property("AUTHOR", "Ilho Kim, ilho159.kim@samsung.com")] + [Property("COVPARAM", "Tizen.Applications.ApplicationComponentType")] + public void GetApplications_COMPONENT_TYPE_ENUM_WATCH() + { + // PRECONDITION + Assert.IsNotNull(_watchPackage, "Precondition failed: testPackage should not be null"); + + // TEST CODE + var appList = _watchPackage.GetApplications(ApplicationComponentType.WatchApplication); + Assert.IsTrue(appList is IEnumerable, "GetApplications should return IEnumerable"); + Assert.IsNotNull(appList, "Application list should not be null"); + Assert.IsNotEmpty(appList, "Application list should not be empty."); + + int appCount = appList.ToList().Count; + Assert.IsTrue(WatchTestData.WatchAppCount == appCount, string.Format("Wrong App Count, Expected: {0}, Actual: {1}", WatchTestData.WatchAppCount, appCount)); + } + + [Test] + [Category("P1")] [Description("Checks if GetSizeInformationAsync returns correct value")] [Property("SPEC", "Tizen.Applications.Package.GetSizeInformationAsync M")] [Property("SPEC_URL", "-")] @@ -150,10 +290,10 @@ namespace Tizen.Applications.Tests public async Task GetSizeInformationAsync_RETURN_VALUE_INTERNAL() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - var tpkSizeInfo = await TpkPackage.GetSizeInformationAsync(); + var tpkSizeInfo = await _tpkPackage.GetSizeInformationAsync(); Assert.IsInstanceOf(tpkSizeInfo); Assert.IsTrue(TpkTestData.DataSize == tpkSizeInfo.DataSize, string.Format("Wrong tpk DataSize, Expected: {0}, Actual: {1}", TpkTestData.DataSize, tpkSizeInfo.DataSize)); Assert.IsTrue(TpkTestData.CacheSize == tpkSizeInfo.CacheSize, string.Format("Wrong tpk CacheSize, Expected: {0}, Actual: {1}", TpkTestData.CacheSize, tpkSizeInfo.CacheSize)); @@ -178,10 +318,10 @@ namespace Tizen.Applications.Tests Assert.Pass("Test Skipped! (The external storage NOT available)"); } // This test requires to have WgtPackage installed on SD card. - Assert.IsTrue(WgtPackage?.InstalledStorageType == StorageType.External, string.Format("Precondition: Failed to get external package. Please check if {0} is installed on sd card", TestHelper.WgtPackage.Id)); + Assert.IsTrue(_wgtPackage?.InstalledStorageType == StorageType.External, string.Format("Precondition: Failed to get external package. Please check if {0} is installed on sd card", TestHelper.WgtPackage.Id)); // TEST CODE - var wgtSizeInfo = await WgtPackage.GetSizeInformationAsync(); + var wgtSizeInfo = await _wgtPackage.GetSizeInformationAsync(); Assert.IsInstanceOf(wgtSizeInfo); Assert.IsTrue(WgtTestData.DataSize == wgtSizeInfo.DataSize, string.Format("Wrong wgt DataSize, Expected: {0}, Actual: {1}", WgtTestData.DataSize, wgtSizeInfo.DataSize)); Assert.IsTrue(WgtTestData.CacheSize == wgtSizeInfo.CacheSize, string.Format("Wrong wgt CacheSize, Expected: {0}, Actual: {1}", WgtTestData.CacheSize, wgtSizeInfo.CacheSize)); @@ -201,15 +341,15 @@ namespace Tizen.Applications.Tests public void Id_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); - Assert.IsNotNull(WgtPackage, "Precondition failed: wgt testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_wgtPackage, "Precondition failed: wgt testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.Id, "Package Id should be of type string"); - Assert.IsTrue(TpkTestData.Id == TpkPackage.Id, string.Format("Wrong Package Id, Expected: ({0}), Actual: ({1})", TpkTestData.Id, TpkPackage.Id)); + Assert.IsInstanceOf(_tpkPackage.Id, "Package Id should be of type string"); + Assert.IsTrue(TpkTestData.Id == _tpkPackage.Id, string.Format("Wrong Package Id, Expected: ({0}), Actual: ({1})", TpkTestData.Id, _tpkPackage.Id)); - Assert.IsInstanceOf(WgtPackage.Id, "Package Id should be of type string"); - Assert.IsTrue(WgtTestData.Id == WgtPackage.Id, string.Format("Wrong Package Id, Expected: ({0}), Actual: ({1})", WgtTestData.Id, WgtPackage.Id)); + Assert.IsInstanceOf(_wgtPackage.Id, "Package Id should be of type string"); + Assert.IsTrue(WgtTestData.Id == _wgtPackage.Id, string.Format("Wrong Package Id, Expected: ({0}), Actual: ({1})", WgtTestData.Id, _wgtPackage.Id)); } [Test] @@ -222,15 +362,15 @@ namespace Tizen.Applications.Tests public void Label_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); - Assert.IsNotNull(WgtPackage, "Precondition failed: wgt testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_wgtPackage, "Precondition failed: wgt testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.Label, "Package Label should be of type string"); - Assert.IsTrue(TpkTestData.Label == TpkPackage.Label, string.Format("Wrong Package Label, Expected: ({0}), Actual: ({1})", TpkTestData.Label, TpkPackage.Label)); + Assert.IsInstanceOf(_tpkPackage.Label, "Package Label should be of type string"); + Assert.IsTrue(TpkTestData.Label == _tpkPackage.Label, string.Format("Wrong Package Label, Expected: ({0}), Actual: ({1})", TpkTestData.Label, _tpkPackage.Label)); - Assert.IsInstanceOf(WgtPackage.Label, "Package Label should be of type string"); - Assert.IsTrue(WgtTestData.Label == WgtPackage.Label, string.Format("Wrong Package Label, Expected: ({0}), Actual: ({1})", WgtTestData.Label, WgtPackage.Label)); + Assert.IsInstanceOf(_wgtPackage.Label, "Package Label should be of type string"); + Assert.IsTrue(WgtTestData.Label == _wgtPackage.Label, string.Format("Wrong Package Label, Expected: ({0}), Actual: ({1})", WgtTestData.Label, _wgtPackage.Label)); } [Test] @@ -243,11 +383,11 @@ namespace Tizen.Applications.Tests public void IconPath_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.IconPath, "Package IconPath should be of type string"); - Assert.IsTrue(TpkPackage.IconPath.Contains(TpkTestData.IconPath), string.Format("Wrong Package IconPath, Expected: ({0}), Actual: ({1})", TpkTestData.IconPath, TpkPackage.IconPath)); + Assert.IsInstanceOf(_tpkPackage.IconPath, "Package IconPath should be of type string"); + Assert.IsTrue(_tpkPackage.IconPath.Contains(TpkTestData.IconPath), string.Format("Wrong Package IconPath, Expected: ({0}), Actual: ({1})", TpkTestData.IconPath, _tpkPackage.IconPath)); } [Test] @@ -260,11 +400,11 @@ namespace Tizen.Applications.Tests public void Version_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.Version, "Package Version should be of type string"); - Assert.IsTrue(TpkTestData.Version == TpkPackage.Version, string.Format("Wrong Package Version, Expected: ({0}), Actual: ({1})", TpkTestData.Version, TpkPackage.Version)); + Assert.IsInstanceOf(_tpkPackage.Version, "Package Version should be of type string"); + Assert.IsTrue(TpkTestData.Version == _tpkPackage.Version, string.Format("Wrong Package Version, Expected: ({0}), Actual: ({1})", TpkTestData.Version, _tpkPackage.Version)); } [Test] @@ -277,15 +417,15 @@ namespace Tizen.Applications.Tests public void PackageType_GET_ENUM_ALL() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); - Assert.IsNotNull(WgtPackage, "Precondition failed: wgt testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_wgtPackage, "Precondition failed: wgt testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.PackageType, "Package PackageType should return PackageType"); - Assert.IsTrue(PackageType.TPK == TpkPackage.PackageType, string.Format("Wrong Package Version, Expected: ({0}), Actual: ({1})", PackageType.TPK, TpkPackage.PackageType)); + Assert.IsInstanceOf(_tpkPackage.PackageType, "Package PackageType should return PackageType"); + Assert.IsTrue(PackageType.TPK == _tpkPackage.PackageType, string.Format("Wrong Package Version, Expected: ({0}), Actual: ({1})", PackageType.TPK, _tpkPackage.PackageType)); - Assert.IsInstanceOf(WgtPackage.PackageType, "Package PackageType should return PackageType"); - Assert.IsTrue(PackageType.WGT == WgtPackage.PackageType, string.Format("Wrong Package Version, Expected: ({0}), Actual: ({1})", PackageType.WGT, WgtPackage.PackageType)); + Assert.IsInstanceOf(_wgtPackage.PackageType, "Package PackageType should return PackageType"); + Assert.IsTrue(PackageType.WGT == _wgtPackage.PackageType, string.Format("Wrong Package Version, Expected: ({0}), Actual: ({1})", PackageType.WGT, _wgtPackage.PackageType)); } [Test] @@ -298,11 +438,11 @@ namespace Tizen.Applications.Tests public void InstalledStorageType_GET_ENUM_INTERNAL() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.InstalledStorageType, "Package InstalledStorageType should return StorageType"); - Assert.IsTrue(StorageType.Internal == TpkPackage.InstalledStorageType, string.Format("Wrong TPK Package InstalledStorageType, Expected: {0}, Actual: {1}", StorageType.Internal, TpkPackage.InstalledStorageType)); + Assert.IsInstanceOf(_tpkPackage.InstalledStorageType, "Package InstalledStorageType should return StorageType"); + Assert.IsTrue(StorageType.Internal == _tpkPackage.InstalledStorageType, string.Format("Wrong TPK Package InstalledStorageType, Expected: {0}, Actual: {1}", StorageType.Internal, _tpkPackage.InstalledStorageType)); } [Test] @@ -320,11 +460,11 @@ namespace Tizen.Applications.Tests Assert.Pass("Test Skipped! (The external storage NOT available)"); } // This test required to have WgtPackage installed on SD card. - Assert.IsTrue(WgtPackage?.InstalledStorageType == StorageType.External, string.Format("Precondition: Failed to get external package. Please check if {0} is installed on sd card", TestHelper.WgtPackage.Id)); + Assert.IsTrue(_wgtPackage?.InstalledStorageType == StorageType.External, string.Format("Precondition: Failed to get external package. Please check if {0} is installed on sd card", TestHelper.WgtPackage.Id)); // TEST CODE - Assert.IsInstanceOf(WgtPackage.InstalledStorageType, "Package InstalledStorageType should return StorageType"); - Assert.IsTrue(StorageType.External == WgtPackage.InstalledStorageType, string.Format("Wrong WGT Package InstalledStorageType, Expected: {0}, Actual: {1}", StorageType.External, WgtPackage.InstalledStorageType)); + Assert.IsInstanceOf(_wgtPackage.InstalledStorageType, "Package InstalledStorageType should return StorageType"); + Assert.IsTrue(StorageType.External == _wgtPackage.InstalledStorageType, string.Format("Wrong WGT Package InstalledStorageType, Expected: {0}, Actual: {1}", StorageType.External, _wgtPackage.InstalledStorageType)); } [Test] @@ -337,11 +477,11 @@ namespace Tizen.Applications.Tests public void RootPath_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.RootPath, "Package RootPath should return string"); - Assert.IsTrue(TpkPackage.RootPath.Contains(TpkTestData.Id), string.Format("Wrong RootPath, " + TpkPackage.RootPath)); + Assert.IsInstanceOf(_tpkPackage.RootPath, "Package RootPath should return string"); + Assert.IsTrue(_tpkPackage.RootPath.Contains(TpkTestData.Id), string.Format("Wrong RootPath, " + _tpkPackage.RootPath)); } /* platform privilege TC */ @@ -355,11 +495,11 @@ namespace Tizen.Applications.Tests public void TizenExpansionPackageName_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.TizenExpansionPackageName, "Package TizenExpansionPackageName should return string"); - Assert.IsTrue(TpkPackage.TizenExpansionPackageName.Contains(TpkTestData.ExpansionPackageName), string.Format("Wrong TizenExpansionPackageName, Expected: {0}, Actual: {1}", TpkTestData.ExpansionPackageName, TpkPackage.TizenExpansionPackageName)); + Assert.IsInstanceOf(_tpkPackage.TizenExpansionPackageName, "Package TizenExpansionPackageName should return string"); + Assert.IsTrue(_tpkPackage.TizenExpansionPackageName.Contains(TpkTestData.ExpansionPackageName), string.Format("Wrong TizenExpansionPackageName, Expected: {0}, Actual: {1}", TpkTestData.ExpansionPackageName, _tpkPackage.TizenExpansionPackageName)); } [Test] @@ -372,11 +512,11 @@ namespace Tizen.Applications.Tests public void IsSystemPackage_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.IsSystemPackage, "Package IsSystemPackage should be of type bool"); - Assert.IsTrue(TpkTestData.IsSystemPackage == TpkPackage.IsSystemPackage, string.Format("Wrong IsSystemPackage, Expected: {0}, Actual: {1}", TpkTestData.IsSystemPackage, TpkPackage.IsSystemPackage)); + Assert.IsInstanceOf(_tpkPackage.IsSystemPackage, "Package IsSystemPackage should be of type bool"); + Assert.IsTrue(TpkTestData.IsSystemPackage == _tpkPackage.IsSystemPackage, string.Format("Wrong IsSystemPackage, Expected: {0}, Actual: {1}", TpkTestData.IsSystemPackage, _tpkPackage.IsSystemPackage)); } [Test] @@ -389,11 +529,11 @@ namespace Tizen.Applications.Tests public void IsRemovable_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.IsRemovable, "Package IsRemovable should be of type bool"); - Assert.IsTrue(TpkTestData.IsRemovable == TpkPackage.IsRemovable, string.Format("Wrong IsRemovable, Expected: {0}, Actual: {1}", TpkTestData.IsRemovable, TpkPackage.IsRemovable)); + Assert.IsInstanceOf(_tpkPackage.IsRemovable, "Package IsRemovable should be of type bool"); + Assert.IsTrue(TpkTestData.IsRemovable == _tpkPackage.IsRemovable, string.Format("Wrong IsRemovable, Expected: {0}, Actual: {1}", TpkTestData.IsRemovable, _tpkPackage.IsRemovable)); } [Test] @@ -406,11 +546,11 @@ namespace Tizen.Applications.Tests public void IsPreloaded_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.IsPreloaded, "Package IsPreloaded should be of type bool"); - Assert.IsTrue(TpkTestData.IsPreloaded == TpkPackage.IsPreloaded, string.Format("Wrong IsPreloaded, Expected: {0}, Actual: {1}", TpkTestData.IsPreloaded, TpkPackage.IsPreloaded)); + Assert.IsInstanceOf(_tpkPackage.IsPreloaded, "Package IsPreloaded should be of type bool"); + Assert.IsTrue(TpkTestData.IsPreloaded == _tpkPackage.IsPreloaded, string.Format("Wrong IsPreloaded, Expected: {0}, Actual: {1}", TpkTestData.IsPreloaded, _tpkPackage.IsPreloaded)); } [Test] @@ -423,11 +563,11 @@ namespace Tizen.Applications.Tests public void IsAccessible_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: tpk testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: tpk testPackage should not be null"); // TEST CODE - Assert.IsInstanceOf(TpkPackage.IsAccessible, "Package IsAccessible should be of type bool"); - Assert.IsTrue(TpkTestData.IsAccessible == TpkPackage.IsAccessible, string.Format("Wrong IsAccessible, Expected: {0}, Actual: {1}", TpkTestData.IsAccessible, TpkPackage.IsAccessible)); + Assert.IsInstanceOf(_tpkPackage.IsAccessible, "Package IsAccessible should be of type bool"); + Assert.IsTrue(TpkTestData.IsAccessible == _tpkPackage.IsAccessible, string.Format("Wrong IsAccessible, Expected: {0}, Actual: {1}", TpkTestData.IsAccessible, _tpkPackage.IsAccessible)); } [Test] @@ -440,10 +580,10 @@ namespace Tizen.Applications.Tests public void Certificates_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); // TEST CODE - var certificates = TpkPackage.Certificates; + var certificates = _tpkPackage.Certificates; Assert.IsTrue(certificates is IReadOnlyDictionary, "Package Certificates should be of type IReadOnlyDictionary"); Assert.IsNotNull(certificates, "Certificate list should not be null"); Assert.IsNotEmpty(certificates, "Certificate should be not empty."); @@ -459,10 +599,10 @@ namespace Tizen.Applications.Tests public void Privileges_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); // TEST CODE - var privileges = TpkPackage.Privileges; + var privileges = _tpkPackage.Privileges; Assert.IsTrue(privileges is IEnumerable, "Package privileges should be of type IEnumerable"); Assert.IsNotNull(privileges, "privileges list should not be null"); Assert.IsNotEmpty(privileges, "privileges should be not empty."); @@ -478,14 +618,14 @@ namespace Tizen.Applications.Tests public void InstalledTime_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); // TEST CODE - var InstalledTime = TpkPackage.InstalledTime; + var InstalledTime = _tpkPackage.InstalledTime; Log.Debug("PKGMGR", "@@@ InstalledTime_READ_ONLY : " + InstalledTime); - Assert.IsInstanceOf(TpkPackage.InstalledTime, "Package InstalledTime should be of type int"); - Assert.IsTrue(TpkPackage.InstalledTime > 0 , "InstalledTime must be bigger than 0"); + Assert.IsInstanceOf(_tpkPackage.InstalledTime, "Package InstalledTime should be of type int"); + Assert.IsTrue(_tpkPackage.InstalledTime > 0 , "InstalledTime must be bigger than 0"); } [Test] @@ -498,10 +638,10 @@ namespace Tizen.Applications.Tests public void MainApplication_READ_ONLY() { // PRECONDITION - Assert.IsNotNull(TpkPackage, "Precondition failed: testPackage should not be null"); + Assert.IsNotNull(_tpkPackage, "Precondition failed: testPackage should not be null"); // TEST CODE - var mainapplication = TpkPackage.MainApplication; + var mainapplication = _tpkPackage.MainApplication; Assert.IsInstanceOf(mainapplication, "MainApplication should return ApplicationInfo"); Assert.AreEqual(mainapplication.ApplicationId, MainAppId, "Main Application ID should be same " + MainAppId); } diff --git a/tct-suite-vs/Tizen.Packagemanager.Tests/testcase/support/TestHelper.cs b/tct-suite-vs/Tizen.Packagemanager.Tests/testcase/support/TestHelper.cs index d8ff03a..379ac01 100755 --- a/tct-suite-vs/Tizen.Packagemanager.Tests/testcase/support/TestHelper.cs +++ b/tct-suite-vs/Tizen.Packagemanager.Tests/testcase/support/TestHelper.cs @@ -41,9 +41,11 @@ namespace Tizen.Applications.Tests private static bool ExternalStorageAvailable; private static Lazy _tpkPackage = null; + private static Lazy _watchPackage = null; private static Lazy _wgtPackage = null; internal static Package TpkPackage { get { return _tpkPackage.Value; } } + internal static Package WatchPackage { get { return _watchPackage.Value; } } internal static Package WgtPackage { get { return _wgtPackage.Value; } } internal static Dictionary TestPackages { get { return null; } } @@ -51,6 +53,7 @@ namespace Tizen.Applications.Tests { _tpkPackage = new Lazy(() => PackageManager.GetPackage(TpkTestData.Id)); _wgtPackage = new Lazy(() => PackageManager.GetPackage(WgtTestData.Id)); + _watchPackage = new Lazy(() => PackageManager.GetPackage(WatchTestData.Id)); // check the external storage for the test related to external storage. string profile; @@ -116,7 +119,8 @@ namespace Tizen.Applications.Tests internal static int UiAppCount = 1; internal static int ServiceAppCount = 1; - internal static int AllAppCount = 2; + internal static int WidgetAppCount = 1; + internal static int AllAppCount = 3; } internal class WgtTestData @@ -134,6 +138,16 @@ namespace Tizen.Applications.Tests internal static long ExternalAppSize = 5242880; } + internal class WatchTestData + { + internal static string Id = "tpkwatchtest"; + internal static string AppId = "tpkwatchtest"; + internal static string Label = "tpkwatchtest"; + internal static string Version = "1.0.0"; + + internal static int WatchAppCount = 1; + } + internal class PackageData { public string Id { get; set; }