From 0edc5ba8ac6d6604b1deea525a42548f9dc9ccce Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 12 一月 2024 09:49:54 +0800 Subject: [PATCH] 增加单元测试项目,更新萤石SDK --- NunitTest-Android/Properties/AssemblyInfo.cs | 27 NunitTest-Android/Resources/mipmap-anydpi-v26/ic_launcher.xml | 6 NunitTest-Android/TestsSample.cs | 44 + HDL-ON_Android/Properties/AndroidManifest.xml | 2 NunitTest-Ios/packages.config | 6 NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png | 0 NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher_foreground.png | 0 NunitTest-Ios/ApiPostTests.cs | 47 + NunitTest-Android/Resources/mipmap-hdpi/ic_launcher.png | 0 NunitTest-Android/Resources/mipmap-mdpi/ic_launcher.png | 0 NunitTest-Ios/Info.plist | 36 + NunitTest-Android/Resources/Resource.designer.cs | 234 ++++++++ NunitTest-Android/Resources/mipmap-mdpi/ic_launcher_round.png | 0 NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher.png | 0 HDL-ON_Android/HDL-ON_Android.csproj | 2 NunitTest-Ios/NunitTest-Ios.csproj | 113 ++++ NunitTest-Android/NunitTest-Android.csproj | 101 +++ NunitTest-Ios/LaunchScreen.storyboard | 27 NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher_round.png | 0 HDL-ON_Android/Resources/Resource.designer.cs | 755 +++++++++++++------------- NunitTest-Ios/Main.cs | 20 NunitTest-Android/Assets/AboutAssets.txt | 19 NunitTest-Android/Resources/mipmap-anydpi-v26/ic_launcher_round.xml | 6 NunitTest-Android/Resources/mipmap-hdpi/ic_launcher_foreground.png | 0 HDL_APP_Project.sln | 28 + NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher.png | 0 NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher_round.png | 0 NunitTest-Android/Resources/values/colors.xml | 7 NunitTest-Android/Resources/values/ic_launcher_background.xml | 5 NunitTest-Android/Resources/mipmap-hdpi/ic_launcher_round.png | 0 DLL/HdlEzvizDroid.dll | 0 NunitTest-Android/Properties/AndroidManifest.xml | 6 NunitTest-Android/Resources/AboutResources.txt | 44 + NunitTest-Ios/UnitTestAppDelegate.cs | 46 + NunitTest-Android/Resources/mipmap-mdpi/ic_launcher_foreground.png | 0 NunitTest-Android/ApiPostTests.cs | 47 + NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher_round.png | 0 NunitTest-Ios/Entitlements.plist | 6 NunitTest-Android/MainActivity.cs | 24 NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher.png | 0 NunitTest-Android/Resources/values/strings.xml | 4 NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher_foreground.png | 0 42 files changed, 1,284 insertions(+), 378 deletions(-) diff --git a/DLL/HdlEzvizDroid.dll b/DLL/HdlEzvizDroid.dll index e59d056..6e4edec 100644 --- a/DLL/HdlEzvizDroid.dll +++ b/DLL/HdlEzvizDroid.dll Binary files differ diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj index e9e4960..74933af 100644 --- a/HDL-ON_Android/HDL-ON_Android.csproj +++ b/HDL-ON_Android/HDL-ON_Android.csproj @@ -196,7 +196,7 @@ <HintPath>..\DLL\Android\Shared.Droid.dll</HintPath> </Reference> <Reference Include="HdlEzvizDroid"> - <HintPath>..\..\..\HdlEzvizDroid.dll</HintPath> + <HintPath>..\..\App-Pages\2024\On Pro\Android\SDK\ez\2024-01-11\HdlEzvizDroid.dll</HintPath> </Reference> </ItemGroup> <ItemGroup> diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml index f1a9cb2..e513f6a 100644 --- a/HDL-ON_Android/Properties/AndroidManifest.xml +++ b/HDL-ON_Android/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@ 锘�<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.4.3" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202401101"> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.4.3" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202401111"> <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <!--鍙嬬洘--> diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs index e3ce9c8..89fd436 100644 --- a/HDL-ON_Android/Resources/Resource.designer.cs +++ b/HDL-ON_Android/Resources/Resource.designer.cs @@ -19735,928 +19735,931 @@ public const int please_try_connect_device_hotspot_manually = 2131690306; // aapt resource value: 0x7F0F0343 - public const int plug = 2131690307; + public const int please_try_connect_device_hotspot_manually2 = 2131690307; // aapt resource value: 0x7F0F0344 - public const int pm = 2131690308; + public const int plug = 2131690308; // aapt resource value: 0x7F0F0345 - public const int press_again_to_exit = 2131690309; + public const int pm = 2131690309; // aapt resource value: 0x7F0F0346 - public const int press_to_talk_release_to_listen = 2131690310; + public const int press_again_to_exit = 2131690310; // aapt resource value: 0x7F0F0347 - public const int privacy_masking = 2131690311; + public const int press_to_talk_release_to_listen = 2131690311; // aapt resource value: 0x7F0F0348 - public const int privacy_policy_and_service_agreement = 2131690312; + public const int privacy_masking = 2131690312; // aapt resource value: 0x7F0F0349 - public const int probe_not_support_tip = 2131690313; + public const int privacy_policy_and_service_agreement = 2131690313; // aapt resource value: 0x7F0F034A - public const int promptUserToActivate = 2131690314; + public const int probe_not_support_tip = 2131690314; // aapt resource value: 0x7F0F034B - public const int ptz = 2131690315; + public const int promptUserToActivate = 2131690315; // aapt resource value: 0x7F0F034C - public const int ptz_control_timeout_cruise_track_failed = 2131690316; + public const int ptz = 2131690316; // aapt resource value: 0x7F0F034D - public const int ptz_control_timeout_sound_lacalization_failed = 2131690317; + public const int ptz_control_timeout_cruise_track_failed = 2131690317; // aapt resource value: 0x7F0F034E - public const int ptz_is_preseting = 2131690318; + public const int ptz_control_timeout_sound_lacalization_failed = 2131690318; // aapt resource value: 0x7F0F034F - public const int ptz_mirroring_failed = 2131690319; + public const int ptz_is_preseting = 2131690319; // aapt resource value: 0x7F0F0350 - public const int ptz_operation_failed = 2131690320; + public const int ptz_mirroring_failed = 2131690320; // aapt resource value: 0x7F0F0351 - public const int ptz_operation_too_frequently = 2131690321; + public const int ptz_operation_failed = 2131690321; // aapt resource value: 0x7F0F0352 - public const int ptz_preset_current_position_failed = 2131690322; + public const int ptz_operation_too_frequently = 2131690322; // aapt resource value: 0x7F0F0353 - public const int ptz_preset_exceed_maxnum_failed = 2131690323; + public const int ptz_preset_current_position_failed = 2131690323; // aapt resource value: 0x7F0F0354 - public const int ptz_preset_invalid_position_failed = 2131690324; + public const int ptz_preset_exceed_maxnum_failed = 2131690324; // aapt resource value: 0x7F0F0355 - public const int ptz_preset_sound_localization_failed = 2131690325; + public const int ptz_preset_invalid_position_failed = 2131690325; // aapt resource value: 0x7F0F0356 - public const int ptz_privacying_failed = 2131690326; + public const int ptz_preset_sound_localization_failed = 2131690326; // aapt resource value: 0x7F0F0357 - public const int pull_to_refresh_from_bottom_pull_label = 2131690327; + public const int ptz_privacying_failed = 2131690327; // aapt resource value: 0x7F0F0358 - public const int pull_to_refresh_from_bottom_refreshing_label = 2131690328; + public const int pull_to_refresh_from_bottom_pull_label = 2131690328; // aapt resource value: 0x7F0F0359 - public const int pull_to_refresh_from_bottom_release_label = 2131690329; + public const int pull_to_refresh_from_bottom_refreshing_label = 2131690329; // aapt resource value: 0x7F0F035A - public const int pull_to_refresh_pull_label = 2131690330; + public const int pull_to_refresh_from_bottom_release_label = 2131690330; // aapt resource value: 0x7F0F035B - public const int pull_to_refresh_refreshing_label = 2131690331; + public const int pull_to_refresh_pull_label = 2131690331; // aapt resource value: 0x7F0F035C - public const int pull_to_refresh_release_label = 2131690332; + public const int pull_to_refresh_refreshing_label = 2131690332; // aapt resource value: 0x7F0F035D - public const int push_cat_body = 2131690333; + public const int pull_to_refresh_release_label = 2131690333; // aapt resource value: 0x7F0F035E - public const int push_cat_head = 2131690334; + public const int push_cat_body = 2131690334; // aapt resource value: 0x7F0F035F - public const int push_event_alarm_title = 2131690335; + public const int push_cat_head = 2131690335; // aapt resource value: 0x7F0F0360 - public const int push_event_from = 2131690336; + public const int push_event_alarm_title = 2131690336; // aapt resource value: 0x7F0F0361 - public const int push_event_get = 2131690337; + public const int push_event_from = 2131690337; // aapt resource value: 0x7F0F0362 - public const int push_event_get_count = 2131690338; + public const int push_event_get = 2131690338; // aapt resource value: 0x7F0F0363 - public const int push_out_event_alarm_title = 2131690339; + public const int push_event_get_count = 2131690339; // aapt resource value: 0x7F0F0364 - public const int pwd_not_contain_chinese = 2131690340; + public const int push_out_event_alarm_title = 2131690340; // aapt resource value: 0x7F0F0365 - public const int qrcode_card = 2131690341; + public const int pwd_not_contain_chinese = 2131690341; // aapt resource value: 0x7F0F0366 - public const int quality_balanced = 2131690342; + public const int qrcode_card = 2131690342; // aapt resource value: 0x7F0F0367 - public const int quality_flunet = 2131690343; + public const int quality_balanced = 2131690343; // aapt resource value: 0x7F0F0368 - public const int quality_hd = 2131690344; + public const int quality_flunet = 2131690344; // aapt resource value: 0x7F0F0369 - public const int quality_super_hd = 2131690345; - - // aapt resource value: 0x7F0F0370 - public const int querying_camera_text = 2131690352; + public const int quality_hd = 2131690345; // aapt resource value: 0x7F0F036A - public const int query_camera_fail = 2131690346; - - // aapt resource value: 0x7F0F036B - public const int query_camera_fail_network_exception = 2131690347; - - // aapt resource value: 0x7F0F036C - public const int query_camera_fail_network_exception_or_server_exception = 2131690348; - - // aapt resource value: 0x7F0F036D - public const int query_camera_fail_not_exit = 2131690349; - - // aapt resource value: 0x7F0F036E - public const int query_camera_fail_repeat_error = 2131690350; - - // aapt resource value: 0x7F0F036F - public const int query_camera_fail_server_exception = 2131690351; - - // aapt resource value: 0x7F0F0372 - public const int readed = 2131690354; + public const int quality_super_hd = 2131690346; // aapt resource value: 0x7F0F0371 - public const int read_privacy_policy_and_service_agreement_tip = 2131690353; + public const int querying_camera_text = 2131690353; + + // aapt resource value: 0x7F0F036B + public const int query_camera_fail = 2131690347; + + // aapt resource value: 0x7F0F036C + public const int query_camera_fail_network_exception = 2131690348; + + // aapt resource value: 0x7F0F036D + public const int query_camera_fail_network_exception_or_server_exception = 2131690349; + + // aapt resource value: 0x7F0F036E + public const int query_camera_fail_not_exit = 2131690350; + + // aapt resource value: 0x7F0F036F + public const int query_camera_fail_repeat_error = 2131690351; + + // aapt resource value: 0x7F0F0370 + public const int query_camera_fail_server_exception = 2131690352; // aapt resource value: 0x7F0F0373 - public const int realplay = 2131690355; + public const int readed = 2131690355; + + // aapt resource value: 0x7F0F0372 + public const int read_privacy_policy_and_service_agreement_tip = 2131690354; // aapt resource value: 0x7F0F0374 - public const int realplay_close_sound_localization_fail = 2131690356; + public const int realplay = 2131690356; // aapt resource value: 0x7F0F0375 - public const int realplay_encrypt_password_error_message = 2131690357; + public const int realplay_close_sound_localization_fail = 2131690357; // aapt resource value: 0x7F0F0376 - public const int realplay_encrypt_password_error_title = 2131690358; + public const int realplay_encrypt_password_error_message = 2131690358; // aapt resource value: 0x7F0F0377 - public const int realplay_fail_connect_device = 2131690359; + public const int realplay_encrypt_password_error_title = 2131690359; // aapt resource value: 0x7F0F0378 - public const int realplay_fail_device_not_exist = 2131690360; + public const int realplay_fail_connect_device = 2131690360; // aapt resource value: 0x7F0F0379 - public const int realplay_full_talk_start_tip = 2131690361; + public const int realplay_fail_device_not_exist = 2131690361; // aapt resource value: 0x7F0F037A - public const int realplay_loading = 2131690362; + public const int realplay_full_talk_start_tip = 2131690362; // aapt resource value: 0x7F0F037B - public const int realplay_login_password_error = 2131690363; + public const int realplay_loading = 2131690363; // aapt resource value: 0x7F0F037C - public const int realplay_login_password_msg = 2131690364; + public const int realplay_login_password_error = 2131690364; // aapt resource value: 0x7F0F037D - public const int realplay_no_encrypt_password_error = 2131690365; + public const int realplay_login_password_msg = 2131690365; // aapt resource value: 0x7F0F037E - public const int realplay_no_permission = 2131690366; + public const int realplay_no_encrypt_password_error = 2131690366; // aapt resource value: 0x7F0F037F - public const int realplay_open_sound_localization_fail = 2131690367; + public const int realplay_no_permission = 2131690367; // aapt resource value: 0x7F0F0380 - public const int realplay_password_error_message1 = 2131690368; + public const int realplay_open_sound_localization_fail = 2131690368; // aapt resource value: 0x7F0F0381 - public const int realplay_password_error_message3 = 2131690369; + public const int realplay_password_error_message1 = 2131690369; // aapt resource value: 0x7F0F0382 - public const int realplay_password_error_message4 = 2131690370; + public const int realplay_password_error_message3 = 2131690370; // aapt resource value: 0x7F0F0383 - public const int realplay_password_error_title = 2131690371; + public const int realplay_password_error_message4 = 2131690371; // aapt resource value: 0x7F0F0384 - public const int realplay_play_fail = 2131690372; + public const int realplay_password_error_title = 2131690372; // aapt resource value: 0x7F0F0385 - public const int realplay_play_fail_becauseof_network = 2131690373; + public const int realplay_play_fail = 2131690373; // aapt resource value: 0x7F0F0386 - public const int realplay_play_no_video_source = 2131690374; + public const int realplay_play_fail_becauseof_network = 2131690374; // aapt resource value: 0x7F0F0387 - public const int realplay_play_talkback_fail = 2131690375; + public const int realplay_play_no_video_source = 2131690375; // aapt resource value: 0x7F0F0388 - public const int realplay_play_talkback_fail_ison = 2131690376; + public const int realplay_play_talkback_fail = 2131690376; // aapt resource value: 0x7F0F0389 - public const int realplay_play_talkback_fail_privacy = 2131690377; + public const int realplay_play_talkback_fail_ison = 2131690377; // aapt resource value: 0x7F0F038A - public const int realplay_play_talkback_network_exception = 2131690378; + public const int realplay_play_talkback_fail_privacy = 2131690378; // aapt resource value: 0x7F0F038B - public const int realplay_play_talkback_request_timeout = 2131690379; + public const int realplay_play_talkback_network_exception = 2131690379; // aapt resource value: 0x7F0F038C - public const int realplay_set_fail_network = 2131690380; + public const int realplay_play_talkback_request_timeout = 2131690380; // aapt resource value: 0x7F0F038D - public const int realplay_set_fail_status = 2131690381; + public const int realplay_set_fail_network = 2131690381; // aapt resource value: 0x7F0F038E - public const int realplay_set_vediomode_fail = 2131690382; + public const int realplay_set_fail_status = 2131690382; // aapt resource value: 0x7F0F038F - public const int realplay_share_no_permission = 2131690383; + public const int realplay_set_vediomode_fail = 2131690383; // aapt resource value: 0x7F0F0390 - public const int realplay_share_time_over = 2131690384; + public const int realplay_share_no_permission = 2131690384; // aapt resource value: 0x7F0F0391 - public const int realplay_verifycode_error_message0 = 2131690385; + public const int realplay_share_time_over = 2131690385; // aapt resource value: 0x7F0F0392 - public const int realplay_verifycode_error_placehold = 2131690386; + public const int realplay_verifycode_error_message0 = 2131690386; // aapt resource value: 0x7F0F0393 - public const int receice_leave_msg_audio = 2131690387; + public const int realplay_verifycode_error_placehold = 2131690387; // aapt resource value: 0x7F0F0394 - public const int receice_leave_msg_video = 2131690388; + public const int receice_leave_msg_audio = 2131690388; // aapt resource value: 0x7F0F0395 - public const int record = 2131690389; + public const int receice_leave_msg_video = 2131690389; // aapt resource value: 0x7F0F0396 - public const int refresh = 2131690390; - - // aapt resource value: 0x7F0F039A - public const int refreshing = 2131690394; + public const int record = 2131690390; // aapt resource value: 0x7F0F0397 - public const int refresh_done = 2131690391; - - // aapt resource value: 0x7F0F0398 - public const int refresh_empty_hint = 2131690392; - - // aapt resource value: 0x7F0F0399 - public const int refresh_fail_hint = 2131690393; - - // aapt resource value: 0x7F0F039C - public const int remoteplayback_capture_fail = 2131690396; - - // aapt resource value: 0x7F0F039D - public const int remoteplayback_capture_fail_for_memory = 2131690397; - - // aapt resource value: 0x7F0F039E - public const int remoteplayback_connect_device_error = 2131690398; - - // aapt resource value: 0x7F0F039F - public const int remoteplayback_connect_server_error = 2131690399; - - // aapt resource value: 0x7F0F03A0 - public const int remoteplayback_fail = 2131690400; - - // aapt resource value: 0x7F0F03A1 - public const int remoteplayback_norecordfile = 2131690401; - - // aapt resource value: 0x7F0F03A2 - public const int remoteplayback_norecordfile_alarm = 2131690402; - - // aapt resource value: 0x7F0F03A3 - public const int remoteplayback_over_link = 2131690403; - - // aapt resource value: 0x7F0F03A4 - public const int remoteplayback_record_fail = 2131690404; - - // aapt resource value: 0x7F0F03A5 - public const int remoteplayback_record_fail_for_memory = 2131690405; + public const int refresh = 2131690391; // aapt resource value: 0x7F0F039B - public const int remoteplayback_SDCard_disable_use = 2131690395; + public const int refreshing = 2131690395; + + // aapt resource value: 0x7F0F0398 + public const int refresh_done = 2131690392; + + // aapt resource value: 0x7F0F0399 + public const int refresh_empty_hint = 2131690393; + + // aapt resource value: 0x7F0F039A + public const int refresh_fail_hint = 2131690394; + + // aapt resource value: 0x7F0F039D + public const int remoteplayback_capture_fail = 2131690397; + + // aapt resource value: 0x7F0F039E + public const int remoteplayback_capture_fail_for_memory = 2131690398; + + // aapt resource value: 0x7F0F039F + public const int remoteplayback_connect_device_error = 2131690399; + + // aapt resource value: 0x7F0F03A0 + public const int remoteplayback_connect_server_error = 2131690400; + + // aapt resource value: 0x7F0F03A1 + public const int remoteplayback_fail = 2131690401; + + // aapt resource value: 0x7F0F03A2 + public const int remoteplayback_norecordfile = 2131690402; + + // aapt resource value: 0x7F0F03A3 + public const int remoteplayback_norecordfile_alarm = 2131690403; + + // aapt resource value: 0x7F0F03A4 + public const int remoteplayback_over_link = 2131690404; + + // aapt resource value: 0x7F0F03A5 + public const int remoteplayback_record_fail = 2131690405; // aapt resource value: 0x7F0F03A6 - public const int remoteplayback_searchfile_fail_for_device = 2131690406; + public const int remoteplayback_record_fail_for_memory = 2131690406; + + // aapt resource value: 0x7F0F039C + public const int remoteplayback_SDCard_disable_use = 2131690396; // aapt resource value: 0x7F0F03A7 - public const int remoteplayback_searchfile_fail_for_network = 2131690407; + public const int remoteplayback_searchfile_fail_for_device = 2131690407; // aapt resource value: 0x7F0F03A8 - public const int reset_10_sec_to_release = 2131690408; + public const int remoteplayback_searchfile_fail_for_network = 2131690408; // aapt resource value: 0x7F0F03A9 - public const int reset_device = 2131690409; + public const int reset_10_sec_to_release = 2131690409; // aapt resource value: 0x7F0F03AA - public const int result_txt = 2131690410; + public const int reset_device = 2131690410; // aapt resource value: 0x7F0F03AB - public const int retry = 2131690411; - - // aapt resource value: 0x7F0F03AD - public const int router = 2131690413; + public const int result_txt = 2131690411; // aapt resource value: 0x7F0F03AC - public const int route_status_light = 2131690412; + public const int retry = 2131690412; // aapt resource value: 0x7F0F03AE - public const int sadp_activate_state1 = 2131690414; + public const int router = 2131690414; + + // aapt resource value: 0x7F0F03AD + public const int route_status_light = 2131690413; // aapt resource value: 0x7F0F03AF - public const int sadp_activate_state2 = 2131690415; + public const int sadp_activate_state1 = 2131690415; // aapt resource value: 0x7F0F03B0 - public const int sadp_password_input_hint = 2131690416; + public const int sadp_activate_state2 = 2131690416; // aapt resource value: 0x7F0F03B1 - public const int sadp_password_toast = 2131690417; + public const int sadp_password_input_hint = 2131690417; // aapt resource value: 0x7F0F03B2 - public const int sadp_password_too_weak = 2131690418; + public const int sadp_password_toast = 2131690418; // aapt resource value: 0x7F0F03B3 - public const int sadp_quit_activate = 2131690419; + public const int sadp_password_too_weak = 2131690419; // aapt resource value: 0x7F0F03B4 - public const int save_encrypt_password_fail_network_exception = 2131690420; + public const int sadp_quit_activate = 2131690420; // aapt resource value: 0x7F0F03B5 - public const int scan_add = 2131690421; + public const int save_encrypt_password_fail_network_exception = 2131690421; // aapt resource value: 0x7F0F03B6 - public const int scan_connet_network = 2131690422; + public const int scan_add = 2131690422; // aapt resource value: 0x7F0F03B7 - public const int scan_cue_txt = 2131690423; + public const int scan_connet_network = 2131690423; // aapt resource value: 0x7F0F03B8 - public const int scan_device_add_by_others = 2131690424; + public const int scan_cue_txt = 2131690424; // aapt resource value: 0x7F0F03B9 - public const int scan_device_search = 2131690425; + public const int scan_device_add_by_others = 2131690425; // aapt resource value: 0x7F0F03BA - public const int scan_device_serial_no = 2131690426; + public const int scan_device_search = 2131690426; // aapt resource value: 0x7F0F03BB - public const int scan_network_unavailible = 2131690427; + public const int scan_device_serial_no = 2131690427; // aapt resource value: 0x7F0F03BC - public const int scan_probe_qrcode_error = 2131690428; + public const int scan_network_unavailible = 2131690428; // aapt resource value: 0x7F0F03BD - public const int scan_search_probe_qrcode = 2131690429; + public const int scan_probe_qrcode_error = 2131690429; // aapt resource value: 0x7F0F03BE - public const int scan_title = 2131690430; + public const int scan_search_probe_qrcode = 2131690430; // aapt resource value: 0x7F0F03BF - public const int scan_title_txt = 2131690431; + public const int scan_title = 2131690431; // aapt resource value: 0x7F0F03C0 - public const int screenshot_fail = 2131690432; + public const int scan_title_txt = 2131690432; // aapt resource value: 0x7F0F03C1 - public const int screenshot_success = 2131690433; - - // aapt resource value: 0x7F0F03C4 - public const int sdk_is_init = 2131690436; - - // aapt resource value: 0x7F0F03C3 - public const int sd_card_formatting = 2131690435; + public const int screenshot_fail = 2131690433; // aapt resource value: 0x7F0F03C2 - public const int sd_card_format_tip = 2131690434; + public const int screenshot_success = 2131690434; // aapt resource value: 0x7F0F03C5 - public const int search = 2131690437; + public const int sdk_is_init = 2131690437; + + // aapt resource value: 0x7F0F03C4 + public const int sd_card_formatting = 2131690436; + + // aapt resource value: 0x7F0F03C3 + public const int sd_card_format_tip = 2131690435; // aapt resource value: 0x7F0F03C6 - public const int search_menu_title = 2131690438; + public const int search = 2131690438; // aapt resource value: 0x7F0F03C7 - public const int secure_validate = 2131690439; - - // aapt resource value: 0x7F0F03C9 - public const int secure_validatee_fail = 2131690441; + public const int search_menu_title = 2131690439; // aapt resource value: 0x7F0F03C8 - public const int secure_validate_success = 2131690440; + public const int secure_validate = 2131690440; // aapt resource value: 0x7F0F03CA - public const int seek_camera_fail_device_not_support_shipin7 = 2131690442; + public const int secure_validatee_fail = 2131690442; + + // aapt resource value: 0x7F0F03C9 + public const int secure_validate_success = 2131690441; // aapt resource value: 0x7F0F03CB - public const int select_all = 2131690443; + public const int seek_camera_fail_device_not_support_shipin7 = 2131690443; // aapt resource value: 0x7F0F03CC - public const int select_date = 2131690444; + public const int select_all = 2131690444; // aapt resource value: 0x7F0F03CD - public const int select_set_parameters = 2131690445; + public const int select_date = 2131690445; // aapt resource value: 0x7F0F03CE - public const int select_set_wifi = 2131690446; + public const int select_set_parameters = 2131690446; // aapt resource value: 0x7F0F03CF - public const int serial_add_hint = 2131690447; + public const int select_set_wifi = 2131690447; // aapt resource value: 0x7F0F03D0 - public const int serial_add_password_error_title = 2131690448; + public const int serial_add_hint = 2131690448; // aapt resource value: 0x7F0F03D1 - public const int serial_input_text = 2131690449; + public const int serial_add_password_error_title = 2131690449; // aapt resource value: 0x7F0F03D2 - public const int serial_number_error = 2131690450; + public const int serial_input_text = 2131690450; // aapt resource value: 0x7F0F03D3 - public const int serial_number_is_null = 2131690451; + public const int serial_number_error = 2131690451; // aapt resource value: 0x7F0F03D4 - public const int serial_number_put_the_right_no = 2131690452; + public const int serial_number_is_null = 2131690452; // aapt resource value: 0x7F0F03D5 - public const int server_area = 2131690453; - - // aapt resource value: 0x7F0F03DA - public const int setting = 2131690458; - - // aapt resource value: 0x7F0F03DB - public const int setting_video_level = 2131690459; + public const int serial_number_put_the_right_no = 2131690453; // aapt resource value: 0x7F0F03D6 - public const int set_defence_plan = 2131690454; + public const int server_area = 2131690454; - // aapt resource value: 0x7F0F03D7 - public const int set_device_wifi_network_need_reset_the_device = 2131690455; - - // aapt resource value: 0x7F0F03D8 - public const int set_ptz_flip_fail = 2131690456; - - // aapt resource value: 0x7F0F03D9 - public const int set_ptz_flip_success = 2131690457; + // aapt resource value: 0x7F0F03DB + public const int setting = 2131690459; // aapt resource value: 0x7F0F03DC - public const int share_devices = 2131690460; + public const int setting_video_level = 2131690460; + + // aapt resource value: 0x7F0F03D7 + public const int set_defence_plan = 2131690455; + + // aapt resource value: 0x7F0F03D8 + public const int set_device_wifi_network_need_reset_the_device = 2131690456; + + // aapt resource value: 0x7F0F03D9 + public const int set_ptz_flip_fail = 2131690457; + + // aapt resource value: 0x7F0F03DA + public const int set_ptz_flip_success = 2131690458; // aapt resource value: 0x7F0F03DD - public const int sms_verify_bind_error = 2131690461; + public const int share_devices = 2131690461; // aapt resource value: 0x7F0F03DE - public const int sms_verify_code_received = 2131690462; + public const int sms_verify_bind_error = 2131690462; // aapt resource value: 0x7F0F03DF - public const int source_detection_off = 2131690463; + public const int sms_verify_code_received = 2131690463; // aapt resource value: 0x7F0F03E0 - public const int source_detection_on = 2131690464; + public const int source_detection_off = 2131690464; // aapt resource value: 0x7F0F03E1 - public const int specified_device = 2131690465; + public const int source_detection_on = 2131690465; // aapt resource value: 0x7F0F03E2 - public const int srl_component_falsify = 2131690466; + public const int specified_device = 2131690466; // aapt resource value: 0x7F0F03E3 - public const int srl_content_empty = 2131690467; + public const int srl_component_falsify = 2131690467; // aapt resource value: 0x7F0F03E4 - public const int srl_footer_failed = 2131690468; + public const int srl_content_empty = 2131690468; // aapt resource value: 0x7F0F03E5 - public const int srl_footer_finish = 2131690469; + public const int srl_footer_failed = 2131690469; // aapt resource value: 0x7F0F03E6 - public const int srl_footer_loading = 2131690470; + public const int srl_footer_finish = 2131690470; // aapt resource value: 0x7F0F03E7 - public const int srl_footer_nothing = 2131690471; + public const int srl_footer_loading = 2131690471; // aapt resource value: 0x7F0F03E8 - public const int srl_footer_pulling = 2131690472; + public const int srl_footer_nothing = 2131690472; // aapt resource value: 0x7F0F03E9 - public const int srl_footer_refreshing = 2131690473; + public const int srl_footer_pulling = 2131690473; // aapt resource value: 0x7F0F03EA - public const int srl_footer_release = 2131690474; + public const int srl_footer_refreshing = 2131690474; // aapt resource value: 0x7F0F03EB - public const int srl_header_failed = 2131690475; + public const int srl_footer_release = 2131690475; // aapt resource value: 0x7F0F03EC - public const int srl_header_finish = 2131690476; + public const int srl_header_failed = 2131690476; // aapt resource value: 0x7F0F03ED - public const int srl_header_loading = 2131690477; + public const int srl_header_finish = 2131690477; // aapt resource value: 0x7F0F03EE - public const int srl_header_pulling = 2131690478; + public const int srl_header_loading = 2131690478; // aapt resource value: 0x7F0F03EF - public const int srl_header_refreshing = 2131690479; + public const int srl_header_pulling = 2131690479; // aapt resource value: 0x7F0F03F0 - public const int srl_header_release = 2131690480; + public const int srl_header_refreshing = 2131690480; // aapt resource value: 0x7F0F03F1 - public const int srl_header_secondary = 2131690481; + public const int srl_header_release = 2131690481; // aapt resource value: 0x7F0F03F2 - public const int srl_header_update = 2131690482; + public const int srl_header_secondary = 2131690482; // aapt resource value: 0x7F0F03F3 - public const int start_cloud = 2131690483; + public const int srl_header_update = 2131690483; // aapt resource value: 0x7F0F03F4 - public const int start_to_experience = 2131690484; + public const int start_cloud = 2131690484; // aapt resource value: 0x7F0F03F5 - public const int start_voice_talk = 2131690485; + public const int start_to_experience = 2131690485; // aapt resource value: 0x7F0F03F6 - public const int status_bar_notification_info_overflow = 2131690486; + public const int start_voice_talk = 2131690486; // aapt resource value: 0x7F0F03F7 - public const int step3_adding_device_to_account = 2131690487; + public const int status_bar_notification_info_overflow = 2131690487; // aapt resource value: 0x7F0F03F8 - public const int stop = 2131690488; + public const int step3_adding_device_to_account = 2131690488; // aapt resource value: 0x7F0F03F9 - public const int storage_status = 2131690489; + public const int stop = 2131690489; // aapt resource value: 0x7F0F03FA - public const int stream_type = 2131690490; - - // aapt resource value: 0x7F0F03FD - public const int string_apiurl = 2131690493; + public const int storage_status = 2131690490; // aapt resource value: 0x7F0F03FB - public const int string_ap_connection = 2131690491; - - // aapt resource value: 0x7F0F03FC - public const int string_ap_connection_normal = 2131690492; + public const int stream_type = 2131690491; // aapt resource value: 0x7F0F03FE - public const int string_authurl = 2131690494; + public const int string_apiurl = 2131690494; - // aapt resource value: 0x7F0F0400 - public const int string_deviceserial = 2131690496; + // aapt resource value: 0x7F0F03FC + public const int string_ap_connection = 2131690492; + + // aapt resource value: 0x7F0F03FD + public const int string_ap_connection_normal = 2131690493; // aapt resource value: 0x7F0F03FF - public const int string_device_network_mode = 2131690495; + public const int string_authurl = 2131690495; // aapt resource value: 0x7F0F0401 - public const int string_ezopenurl = 2131690497; + public const int string_deviceserial = 2131690497; + + // aapt resource value: 0x7F0F0400 + public const int string_device_network_mode = 2131690496; // aapt resource value: 0x7F0F0402 - public const int string_get_device_version_fail = 2131690498; + public const int string_ezopenurl = 2131690498; // aapt resource value: 0x7F0F0403 - public const int string_smart_and_sound_wave_connection = 2131690499; + public const int string_get_device_version_fail = 2131690499; // aapt resource value: 0x7F0F0404 - public const int string_smart_connection = 2131690500; + public const int string_smart_and_sound_wave_connection = 2131690500; // aapt resource value: 0x7F0F0405 - public const int string_smart_connection_normal = 2131690501; + public const int string_smart_connection = 2131690501; // aapt resource value: 0x7F0F0406 - public const int string_sound_wave_connection = 2131690502; + public const int string_smart_connection_normal = 2131690502; // aapt resource value: 0x7F0F0407 - public const int string_wired_connection = 2131690503; + public const int string_sound_wave_connection = 2131690503; // aapt resource value: 0x7F0F0408 - public const int submit_secure_validate = 2131690504; + public const int string_wired_connection = 2131690504; // aapt resource value: 0x7F0F0409 - public const int submit_sms_code = 2131690505; + public const int submit_secure_validate = 2131690505; // aapt resource value: 0x7F0F040A - public const int switch_to_handset = 2131690506; + public const int submit_sms_code = 2131690506; // aapt resource value: 0x7F0F040B - public const int switch_to_speaker = 2131690507; + public const int switch_to_handset = 2131690507; // aapt resource value: 0x7F0F040C - public const int system_default_channel = 2131690508; + public const int switch_to_speaker = 2131690508; // aapt resource value: 0x7F0F040D - public const int tab_more = 2131690509; + public const int system_default_channel = 2131690509; // aapt resource value: 0x7F0F040E - public const int talk = 2131690510; - - // aapt resource value: 0x7F0F0411 - public const int talking = 2131690513; + public const int tab_more = 2131690510; // aapt resource value: 0x7F0F040F - public const int talk_open_failed = 2131690511; - - // aapt resource value: 0x7F0F0410 - public const int talk_open_success = 2131690512; + public const int talk = 2131690511; // aapt resource value: 0x7F0F0412 - public const int text_day_ago = 2131690514; + public const int talking = 2131690514; + + // aapt resource value: 0x7F0F0410 + public const int talk_open_failed = 2131690512; + + // aapt resource value: 0x7F0F0411 + public const int talk_open_success = 2131690513; // aapt resource value: 0x7F0F0413 - public const int text_end_time_hint = 2131690515; + public const int text_day_ago = 2131690515; // aapt resource value: 0x7F0F0414 - public const int text_hour_ago = 2131690516; + public const int text_end_time_hint = 2131690516; // aapt resource value: 0x7F0F0415 - public const int text_just = 2131690517; + public const int text_hour_ago = 2131690517; // aapt resource value: 0x7F0F0416 - public const int text_minute_ago = 2131690518; + public const int text_just = 2131690518; // aapt resource value: 0x7F0F0417 - public const int text_month_ago = 2131690519; + public const int text_minute_ago = 2131690519; // aapt resource value: 0x7F0F0418 - public const int text_press_to_copy = 2131690520; + public const int text_month_ago = 2131690520; // aapt resource value: 0x7F0F0419 - public const int text_seconds_ago = 2131690521; + public const int text_press_to_copy = 2131690521; // aapt resource value: 0x7F0F041A - public const int text_start_time_hint = 2131690522; + public const int text_seconds_ago = 2131690522; // aapt resource value: 0x7F0F041B - public const int text_year_ago = 2131690523; + public const int text_start_time_hint = 2131690523; // aapt resource value: 0x7F0F041C - public const int tip = 2131690524; + public const int text_year_ago = 2131690524; // aapt resource value: 0x7F0F041D - public const int tip_confirm_unlock = 2131690525; + public const int tip = 2131690525; // aapt resource value: 0x7F0F041E - public const int tip_heard_voice = 2131690526; + public const int tip_confirm_unlock = 2131690526; // aapt resource value: 0x7F0F041F - public const int tip_login_out = 2131690527; + public const int tip_heard_voice = 2131690527; // aapt resource value: 0x7F0F0420 - public const int tip_of_added_by_yourself_and_online = 2131690528; + public const int tip_login_out = 2131690528; // aapt resource value: 0x7F0F0421 - public const int tip_of_bad_net = 2131690529; + public const int tip_of_added_by_yourself_and_online = 2131690529; // aapt resource value: 0x7F0F0422 - public const int tip_playback_again = 2131690530; + public const int tip_of_bad_net = 2131690530; // aapt resource value: 0x7F0F0423 - public const int tip_specified_device = 2131690531; + public const int tip_playback_again = 2131690531; // aapt resource value: 0x7F0F0424 - public const int title_activate_device = 2131690532; + public const int tip_specified_device = 2131690532; // aapt resource value: 0x7F0F0425 - public const int title_activate_device_fail = 2131690533; + public const int title_activate_device = 2131690533; // aapt resource value: 0x7F0F0426 - public const int title_activity_connect_device_wifi = 2131690534; + public const int title_activate_device_fail = 2131690534; // aapt resource value: 0x7F0F0427 - public const int title_activity_ezupgrade_device = 2131690535; + public const int title_activity_connect_device_wifi = 2131690535; // aapt resource value: 0x7F0F0428 - public const int today = 2131690536; + public const int title_activity_ezupgrade_device = 2131690536; // aapt resource value: 0x7F0F0429 - public const int touch_fingerprint_sensor_hint = 2131690537; + public const int today = 2131690537; // aapt resource value: 0x7F0F042A - public const int touch_to_load = 2131690538; + public const int touch_fingerprint_sensor_hint = 2131690538; // aapt resource value: 0x7F0F042B - public const int try_again = 2131690539; + public const int touch_to_load = 2131690539; // aapt resource value: 0x7F0F042C - public const int ui_call_demo_txt = 2131690540; + public const int try_again = 2131690540; // aapt resource value: 0x7F0F042D - public const int unable_identify_two_dimensional_code_tip = 2131690541; + public const int ui_call_demo_txt = 2131690541; // aapt resource value: 0x7F0F042E - public const int unanswered = 2131690542; + public const int unable_identify_two_dimensional_code_tip = 2131690542; // aapt resource value: 0x7F0F042F - public const int unbind_to_bind = 2131690543; + public const int unanswered = 2131690543; // aapt resource value: 0x7F0F0430 - public const int unblanking = 2131690544; + public const int unbind_to_bind = 2131690544; // aapt resource value: 0x7F0F0431 - public const int unknow_ssid = 2131690545; + public const int unblanking = 2131690545; // aapt resource value: 0x7F0F0432 - public const int unlock_fail = 2131690546; + public const int unknow_ssid = 2131690546; // aapt resource value: 0x7F0F0433 - public const int unlock_success = 2131690547; + public const int unlock_fail = 2131690547; // aapt resource value: 0x7F0F0434 - public const int unnamed = 2131690548; + public const int unlock_success = 2131690548; // aapt resource value: 0x7F0F0435 - public const int update_exit = 2131690549; + public const int unnamed = 2131690549; // aapt resource value: 0x7F0F0436 - public const int upgrade = 2131690550; + public const int update_exit = 2131690550; // aapt resource value: 0x7F0F0437 - public const int upgrade_fail = 2131690551; + public const int upgrade = 2131690551; // aapt resource value: 0x7F0F0438 - public const int upgrade_progress = 2131690552; + public const int upgrade_fail = 2131690552; // aapt resource value: 0x7F0F0439 - public const int upgrade_success = 2131690553; + public const int upgrade_progress = 2131690553; // aapt resource value: 0x7F0F043A - public const int upgrade_success_progress = 2131690554; + public const int upgrade_success = 2131690554; // aapt resource value: 0x7F0F043B - public const int user_input_name = 2131690555; + public const int upgrade_success_progress = 2131690555; // aapt resource value: 0x7F0F043C - public const int user_login_title = 2131690556; + public const int user_input_name = 2131690556; // aapt resource value: 0x7F0F043D - public const int user_name_txt = 2131690557; + public const int user_login_title = 2131690557; // aapt resource value: 0x7F0F043E - public const int user_pwd_login_login = 2131690558; + public const int user_name_txt = 2131690558; // aapt resource value: 0x7F0F043F - public const int user_register = 2131690559; + public const int user_pwd_login_login = 2131690559; // aapt resource value: 0x7F0F0440 - public const int user_register_btn = 2131690560; + public const int user_register = 2131690560; // aapt resource value: 0x7F0F0441 - public const int valid_code_retrieve_valid_num = 2131690561; + public const int user_register_btn = 2131690561; // aapt resource value: 0x7F0F0442 - public const int verify_camera_fail_network_exception = 2131690562; + public const int valid_code_retrieve_valid_num = 2131690562; // aapt resource value: 0x7F0F0443 - public const int verify_code_error = 2131690563; + public const int verify_camera_fail_network_exception = 2131690563; // aapt resource value: 0x7F0F0444 - public const int verify_sms_code_fail = 2131690564; + public const int verify_code_error = 2131690564; // aapt resource value: 0x7F0F0445 - public const int verify_sms_code_success = 2131690565; + public const int verify_sms_code_fail = 2131690565; // aapt resource value: 0x7F0F0446 - public const int version_newest = 2131690566; + public const int verify_sms_code_success = 2131690566; // aapt resource value: 0x7F0F0447 - public const int video_answer = 2131690567; + public const int version_newest = 2131690567; // aapt resource value: 0x7F0F0448 - public const int video_box = 2131690568; + public const int video_answer = 2131690568; // aapt resource value: 0x7F0F0449 - public const int video_confirm = 2131690569; + public const int video_box = 2131690569; // aapt resource value: 0x7F0F044A - public const int video_device = 2131690570; + public const int video_confirm = 2131690570; // aapt resource value: 0x7F0F044B - public const int video_fail = 2131690571; + public const int video_device = 2131690571; // aapt resource value: 0x7F0F044C - public const int video_hang_up = 2131690572; + public const int video_fail = 2131690572; // aapt resource value: 0x7F0F044D - public const int video_icon = 2131690573; + public const int video_hang_up = 2131690573; // aapt resource value: 0x7F0F044E - public const int video_not_answer = 2131690574; + public const int video_icon = 2131690574; // aapt resource value: 0x7F0F044F - public const int video_screenshot = 2131690575; + public const int video_not_answer = 2131690575; // aapt resource value: 0x7F0F0450 - public const int video_square = 2131690576; + public const int video_screenshot = 2131690576; // aapt resource value: 0x7F0F0451 - public const int video_success = 2131690577; + public const int video_square = 2131690577; // aapt resource value: 0x7F0F0452 - public const int video_talk_call_cancel = 2131690578; + public const int video_success = 2131690578; // aapt resource value: 0x7F0F0453 - public const int video_talk_call_is_accepted = 2131690579; + public const int video_talk_call_cancel = 2131690579; // aapt resource value: 0x7F0F0454 - public const int video_talk_is_playing = 2131690580; + public const int video_talk_call_is_accepted = 2131690580; // aapt resource value: 0x7F0F0455 - public const int video_talk_sdk_toast_hang_up = 2131690581; + public const int video_talk_is_playing = 2131690581; // aapt resource value: 0x7F0F0456 - public const int video_talk_sdk_toast_nobody = 2131690582; + public const int video_talk_sdk_toast_hang_up = 2131690582; // aapt resource value: 0x7F0F0457 - public const int video_talk_signal_weak = 2131690583; + public const int video_talk_sdk_toast_nobody = 2131690583; // aapt resource value: 0x7F0F0458 - public const int video_talk_watch_is_busy = 2131690584; + public const int video_talk_signal_weak = 2131690584; // aapt resource value: 0x7F0F0459 - public const int video_talk_watch_temperature_high_hang = 2131690585; + public const int video_talk_watch_is_busy = 2131690585; // aapt resource value: 0x7F0F045A - public const int video_talk_watch_temperature_high_hint = 2131690586; + public const int video_talk_watch_temperature_high_hang = 2131690586; // aapt resource value: 0x7F0F045B - public const int video_talk_watch_temperature_high_reject = 2131690587; + public const int video_talk_watch_temperature_high_hint = 2131690587; // aapt resource value: 0x7F0F045C - public const int video_talk_watch_temperature_high_warn = 2131690588; + public const int video_talk_watch_temperature_high_reject = 2131690588; // aapt resource value: 0x7F0F045D - public const int video_tip = 2131690589; + public const int video_talk_watch_temperature_high_warn = 2131690589; // aapt resource value: 0x7F0F045E - public const int video_unlock = 2131690590; + public const int video_tip = 2131690590; // aapt resource value: 0x7F0F045F - public const int volume = 2131690591; + public const int video_unlock = 2131690591; // aapt resource value: 0x7F0F0460 - public const int wait = 2131690592; + public const int volume = 2131690592; // aapt resource value: 0x7F0F0461 - public const int web_login_button_txt = 2131690593; + public const int wait = 2131690593; // aapt resource value: 0x7F0F0462 - public const int wechat_interconnect = 2131690594; + public const int web_login_button_txt = 2131690594; // aapt resource value: 0x7F0F0463 - public const int wifi_connected = 2131690595; + public const int wechat_interconnect = 2131690595; // aapt resource value: 0x7F0F0464 - public const int wifi_connection_finish_need_refresh = 2131690596; + public const int wifi_connected = 2131690596; // aapt resource value: 0x7F0F0465 - public const int wifi_set = 2131690597; + public const int wifi_connection_finish_need_refresh = 2131690597; // aapt resource value: 0x7F0F0466 - public const int wifi_setting = 2131690598; + public const int wifi_set = 2131690598; // aapt resource value: 0x7F0F0467 - public const int wired_connection = 2131690599; - - // aapt resource value: 0x7F0F0469 - public const int xlistview_footer_hint_normal = 2131690601; + public const int wifi_setting = 2131690599; // aapt resource value: 0x7F0F0468 - public const int xlistview_footer_hint_no_more_device = 2131690600; + public const int wired_connection = 2131690600; // aapt resource value: 0x7F0F046A - public const int xlistview_footer_hint_ready = 2131690602; + public const int xlistview_footer_hint_normal = 2131690602; + + // aapt resource value: 0x7F0F0469 + public const int xlistview_footer_hint_no_more_device = 2131690601; // aapt resource value: 0x7F0F046B - public const int xlistview_footer_no_more = 2131690603; + public const int xlistview_footer_hint_ready = 2131690603; // aapt resource value: 0x7F0F046C - public const int xlistview_footer_no_more_msg = 2131690604; + public const int xlistview_footer_no_more = 2131690604; // aapt resource value: 0x7F0F046D - public const int xlistview_header_hint_loading = 2131690605; + public const int xlistview_footer_no_more_msg = 2131690605; // aapt resource value: 0x7F0F046E - public const int xlistview_header_hint_more = 2131690606; + public const int xlistview_header_hint_loading = 2131690606; // aapt resource value: 0x7F0F046F - public const int xlistview_header_hint_normal = 2131690607; + public const int xlistview_header_hint_more = 2131690607; // aapt resource value: 0x7F0F0470 - public const int xlistview_header_hint_ready = 2131690608; + public const int xlistview_header_hint_normal = 2131690608; // aapt resource value: 0x7F0F0471 - public const int xlistview_header_last_time = 2131690609; + public const int xlistview_header_hint_ready = 2131690609; // aapt resource value: 0x7F0F0472 - public const int zxing_app_name = 2131690610; + public const int xlistview_header_last_time = 2131690610; // aapt resource value: 0x7F0F0473 - public const int zxing_button_ok = 2131690611; + public const int zxing_app_name = 2131690611; // aapt resource value: 0x7F0F0474 - public const int zxing_msg_camera_framework_bug = 2131690612; + public const int zxing_button_ok = 2131690612; // aapt resource value: 0x7F0F0475 - public const int zxing_msg_default_status = 2131690613; + public const int zxing_msg_camera_framework_bug = 2131690613; // aapt resource value: 0x7F0F0476 - public const int zxing_scan_tips = 2131690614; + public const int zxing_msg_default_status = 2131690614; + + // aapt resource value: 0x7F0F0477 + public const int zxing_scan_tips = 2131690615; static String() { diff --git a/HDL_APP_Project.sln b/HDL_APP_Project.sln index a98de8e..75268d7 100644 --- a/HDL_APP_Project.sln +++ b/HDL_APP_Project.sln @@ -25,6 +25,10 @@ .editorconfig = .editorconfig EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NunitTest-Ios", "NunitTest-Ios\NunitTest-Ios.csproj", "{C70A6AA7-2FBA-4A37-9132-AD49BD037899}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NunitTest-Android", "NunitTest-Android\NunitTest-Android.csproj", "{7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution HDL_ON\HDL_ON.projitems*{09712674-2a38-407b-b1e2-560b2c352f9a}*SharedItemsImports = 4 @@ -138,6 +142,30 @@ {3A0E9FF9-56B6-4323-9AE6-2B22975E399B}.Release|iPhone.Build.0 = Release|Any CPU {3A0E9FF9-56B6-4323-9AE6-2B22975E399B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU {3A0E9FF9-56B6-4323-9AE6-2B22975E399B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Debug|Any CPU.ActiveCfg = Debug|iPhone + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Debug|Any CPU.Build.0 = Debug|iPhone + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Debug|iPhone.ActiveCfg = Debug|iPhone + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Debug|iPhone.Build.0 = Debug|iPhone + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Release|Any CPU.Build.0 = Release|iPhoneSimulator + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Release|iPhone.ActiveCfg = Release|iPhone + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Release|iPhone.Build.0 = Release|iPhone + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {C70A6AA7-2FBA-4A37-9132-AD49BD037899}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Debug|iPhone.Build.0 = Debug|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Release|Any CPU.Build.0 = Release|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Release|iPhone.ActiveCfg = Release|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Release|iPhone.Build.0 = Release|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}.Release|iPhoneSimulator.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/NunitTest-Android/ApiPostTests.cs b/NunitTest-Android/ApiPostTests.cs new file mode 100644 index 0000000..968fe5c --- /dev/null +++ b/NunitTest-Android/ApiPostTests.cs @@ -0,0 +1,47 @@ +锘縰sing System; +using System.Net; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using NUnit.Framework; + +namespace NunitTestIos +{ + [TestFixture] + public class ApiPostTests + { + private HttpClient client; + private const string apiUrl = "https://api.example.com/"; + + [SetUp] + public void Setup() + { + client = new HttpClient(); + client.BaseAddress = new Uri(apiUrl); + } + + [Test] + public async Task TestPostRequest() + { + // 鍑嗗 POST 鏁版嵁 + var postData = new { key = "value" }; + var json = JsonConvert.SerializeObject(postData); + var content = new StringContent(json, Encoding.UTF8, "application/json"); + + // 鍙戣捣 POST 璇锋眰 + HttpResponseMessage response = await client.PostAsync("endpoint", content); + + // 楠岃瘉鐘舵�佺爜 + Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); + + // 楠岃瘉杩斿洖鐨勬暟鎹垨鍝嶅簲鍐呭 + string responseBody = await response.Content.ReadAsStringAsync(); + Assert.IsTrue(!string.IsNullOrEmpty(responseBody)); + // 鍙互杩涗竴姝ラ獙璇佽繑鍥炵殑鏁版嵁鏄惁绗﹀悎棰勬湡 + } + + } + +} + diff --git a/NunitTest-Android/Assets/AboutAssets.txt b/NunitTest-Android/Assets/AboutAssets.txt new file mode 100644 index 0000000..bac3270 --- /dev/null +++ b/NunitTest-Android/Assets/AboutAssets.txt @@ -0,0 +1,19 @@ +锘緼ny raw assets you want to be deployed with your application can be placed in +this directory (and child directories) and given a Build Action of "AndroidAsset". + +These files will be deployed with your package and will be accessible using Android's +AssetManager, like this: + +public class ReadAsset : Activity +{ + protected override void OnCreate (Bundle bundle) + { + base.OnCreate (bundle); + + InputStream input = Assets.Open ("my_asset.txt"); + } +} + +Additionally, some Android functions will automatically load asset files: + +Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); diff --git a/NunitTest-Android/MainActivity.cs b/NunitTest-Android/MainActivity.cs new file mode 100644 index 0000000..d935128 --- /dev/null +++ b/NunitTest-Android/MainActivity.cs @@ -0,0 +1,24 @@ +锘縰sing System.Reflection; + +using Android.App; +using Android.OS; +using Xamarin.Android.NUnitLite; + +namespace NunitTest_Android +{ + [Activity(Label = "@string/app_name", MainLauncher = true)] + public class MainActivity : TestSuiteActivity + { + protected override void OnCreate(Bundle bundle) + { + // tests can be inside the main assembly + AddTest(Assembly.GetExecutingAssembly()); + // or in any reference assemblies + // AddTest (typeof (Your.Library.TestClass).Assembly); + + // Once you called base.OnCreate(), you cannot add more assemblies. + base.OnCreate(bundle); + } + } +} + diff --git a/NunitTest-Android/NunitTest-Android.csproj b/NunitTest-Android/NunitTest-Android.csproj new file mode 100644 index 0000000..31c0db1 --- /dev/null +++ b/NunitTest-Android/NunitTest-Android.csproj @@ -0,0 +1,101 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ProjectGuid>{7E89ABBF-1E2C-4FE7-AA1B-6599EB4856A2}</ProjectGuid> + <TemplateGuid>{7BB5766D-53A1-4A5D-8618-7602F8FCD9B8}</TemplateGuid> + <OutputType>Library</OutputType> + <RootNamespace>NunitTest_Android</RootNamespace> + <AssemblyName>NunitTest_Android</AssemblyName> + <Deterministic>True</Deterministic> + <MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix> + <MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix> + <AndroidResgenClass>Resource</AndroidResgenClass> + <AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile> + <AndroidApplication>True</AndroidApplication> + <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest> + <IsAppExtension>true</IsAppExtension> + <TargetFrameworkVersion>v13.0</TargetFrameworkVersion> + <AndroidEnableSGenConcurrent>true</AndroidEnableSGenConcurrent> + <AndroidUseAapt2>true</AndroidUseAapt2> + <AndroidHttpClientHandlerType>Xamarin.Android.Net.AndroidClientHandler</AndroidHttpClientHandlerType> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>True</DebugSymbols> + <DebugType>portable</DebugType> + <Optimize>False</Optimize> + <OutputPath>bin\Debug</OutputPath> + <DefineConstants>DEBUG;</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <AndroidLinkMode>None</AndroidLinkMode> + <ConsolePause>False</ConsolePause> + <EmbedAssembliesIntoApk>False</EmbedAssembliesIntoApk> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugSymbols>True</DebugSymbols> + <DebugType>portable</DebugType> + <Optimize>True</Optimize> + <OutputPath>bin\Release</OutputPath> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <AndroidUseSharedRuntime>False</AndroidUseSharedRuntime> + <ConsolePause>False</ConsolePause> + <EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Core" /> + <Reference Include="Mono.Android" /> + </ItemGroup> + <ItemGroup> + <Compile Include="MainActivity.cs" /> + <Compile Include="TestsSample.cs" /> + <Compile Include="Resources\Resource.designer.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="ApiPostTests.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="Resources\AboutResources.txt" /> + <None Include="Assets\AboutAssets.txt" /> + <None Include="Properties\AndroidManifest.xml" /> + </ItemGroup> + <ItemGroup> + <AndroidResource Include="Resources\mipmap-anydpi-v26\ic_launcher.xml" /> + <AndroidResource Include="Resources\mipmap-anydpi-v26\ic_launcher_round.xml" /> + <AndroidResource Include="Resources\mipmap-hdpi\ic_launcher.png" /> + <AndroidResource Include="Resources\mipmap-hdpi\ic_launcher_foreground.png" /> + <AndroidResource Include="Resources\mipmap-hdpi\ic_launcher_round.png" /> + <AndroidResource Include="Resources\mipmap-mdpi\ic_launcher.png" /> + <AndroidResource Include="Resources\mipmap-mdpi\ic_launcher_foreground.png" /> + <AndroidResource Include="Resources\mipmap-mdpi\ic_launcher_round.png" /> + <AndroidResource Include="Resources\mipmap-xhdpi\ic_launcher.png" /> + <AndroidResource Include="Resources\mipmap-xhdpi\ic_launcher_foreground.png" /> + <AndroidResource Include="Resources\mipmap-xhdpi\ic_launcher_round.png" /> + <AndroidResource Include="Resources\mipmap-xxhdpi\ic_launcher.png" /> + <AndroidResource Include="Resources\mipmap-xxhdpi\ic_launcher_foreground.png" /> + <AndroidResource Include="Resources\mipmap-xxhdpi\ic_launcher_round.png" /> + <AndroidResource Include="Resources\mipmap-xxxhdpi\ic_launcher.png" /> + <AndroidResource Include="Resources\mipmap-xxxhdpi\ic_launcher_foreground.png" /> + <AndroidResource Include="Resources\mipmap-xxxhdpi\ic_launcher_round.png" /> + <AndroidResource Include="Resources\values\colors.xml" /> + <AndroidResource Include="Resources\values\ic_launcher_background.xml" /> + <AndroidResource Include="Resources\values\strings.xml" /> + </ItemGroup> + <ItemGroup> + <PackageReference Include="Xamarin.Legacy.NUnitLite" Version="0.0.1-alpha" /> + <PackageReference Include="Newtonsoft.Json"> + <Version>13.0.3</Version> + </PackageReference> + <PackageReference Include="System.Net.Http"> + <Version>4.3.4</Version> + </PackageReference> + <PackageReference Include="NUnit"> + <Version>4.0.1</Version> + </PackageReference> + </ItemGroup> + <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> +</Project> diff --git a/NunitTest-Android/Properties/AndroidManifest.xml b/NunitTest-Android/Properties/AndroidManifest.xml new file mode 100644 index 0000000..f5c6165 --- /dev/null +++ b/NunitTest-Android/Properties/AndroidManifest.xml @@ -0,0 +1,6 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.NunitTest_Android"> + <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33" /> + <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true"></application> + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> +</manifest> \ No newline at end of file diff --git a/NunitTest-Android/Properties/AssemblyInfo.cs b/NunitTest-Android/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..091bc34 --- /dev/null +++ b/NunitTest-Android/Properties/AssemblyInfo.cs @@ -0,0 +1,27 @@ +锘縰sing System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Android.App; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("NunitTest_Android")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NunitTest_Android")] +[assembly: AssemblyCopyright("Copyright 漏 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/NunitTest-Android/Resources/AboutResources.txt b/NunitTest-Android/Resources/AboutResources.txt new file mode 100644 index 0000000..5a3e390 --- /dev/null +++ b/NunitTest-Android/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +锘縄mages, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.xml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable/ + icon.png + + layout/ + main.xml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called "R" +(this is an Android convention) that contains the tokens for each one of the resources +included. For example, for the above Resources layout, this is what the R class would expose: + +public class R { + public class drawable { + public const int icon = 0x123; + } + + public class layout { + public const int main = 0x456; + } + + public class strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main +to reference the layout/main.xml file, or R.strings.first_string to reference the first +string in the dictionary file values/strings.xml. diff --git a/NunitTest-Android/Resources/Resource.designer.cs b/NunitTest-Android/Resources/Resource.designer.cs new file mode 100644 index 0000000..e8fccdc --- /dev/null +++ b/NunitTest-Android/Resources/Resource.designer.cs @@ -0,0 +1,234 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +[assembly: global::Android.Runtime.ResourceDesignerAttribute("NunitTest_Android.Resource", IsApplication=true)] + +namespace NunitTest_Android +{ + + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.2.1.111")] + public partial class Resource + { + + static Resource() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + public static void UpdateIdValues() + { + global::Xamarin.Android.NUnitLite.Resource.Id.CreditsButton = global::NunitTest_Android.Resource.Id.CreditsButton; + global::Xamarin.Android.NUnitLite.Resource.Id.OptionHostName = global::NunitTest_Android.Resource.Id.OptionHostName; + global::Xamarin.Android.NUnitLite.Resource.Id.OptionPort = global::NunitTest_Android.Resource.Id.OptionPort; + global::Xamarin.Android.NUnitLite.Resource.Id.OptionRemoteServer = global::NunitTest_Android.Resource.Id.OptionRemoteServer; + global::Xamarin.Android.NUnitLite.Resource.Id.OptionsButton = global::NunitTest_Android.Resource.Id.OptionsButton; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultFullName = global::NunitTest_Android.Resource.Id.ResultFullName; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultMessage = global::NunitTest_Android.Resource.Id.ResultMessage; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultResultState = global::NunitTest_Android.Resource.Id.ResultResultState; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultRunSingleMethodTest = global::NunitTest_Android.Resource.Id.ResultRunSingleMethodTest; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsFailed = global::NunitTest_Android.Resource.Id.ResultsFailed; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsId = global::NunitTest_Android.Resource.Id.ResultsId; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsIgnored = global::NunitTest_Android.Resource.Id.ResultsIgnored; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsInconclusive = global::NunitTest_Android.Resource.Id.ResultsInconclusive; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsMessage = global::NunitTest_Android.Resource.Id.ResultsMessage; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsPassed = global::NunitTest_Android.Resource.Id.ResultsPassed; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsResult = global::NunitTest_Android.Resource.Id.ResultsResult; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultStackTrace = global::NunitTest_Android.Resource.Id.ResultStackTrace; + global::Xamarin.Android.NUnitLite.Resource.Id.RunEverythingButton = global::NunitTest_Android.Resource.Id.RunEverythingButton; + global::Xamarin.Android.NUnitLite.Resource.Id.RunTestsButton = global::NunitTest_Android.Resource.Id.RunTestsButton; + global::Xamarin.Android.NUnitLite.Resource.Id.TestSuiteListView = global::NunitTest_Android.Resource.Id.TestSuiteListView; + global::Xamarin.Android.NUnitLite.Resource.Layout.options = global::NunitTest_Android.Resource.Layout.options; + global::Xamarin.Android.NUnitLite.Resource.Layout.results = global::NunitTest_Android.Resource.Layout.results; + global::Xamarin.Android.NUnitLite.Resource.Layout.Runner = global::NunitTest_Android.Resource.Layout.Runner; + global::Xamarin.Android.NUnitLite.Resource.Layout.test_result = global::NunitTest_Android.Resource.Layout.test_result; + global::Xamarin.Android.NUnitLite.Resource.Layout.test_suite = global::NunitTest_Android.Resource.Layout.test_suite; + } + + public partial class Attribute + { + + static Attribute() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Attribute() + { + } + } + + public partial class Color + { + + // aapt resource value: 0x7F010000 + public const int colorAccent = 2130771968; + + // aapt resource value: 0x7F010001 + public const int colorPrimary = 2130771969; + + // aapt resource value: 0x7F010002 + public const int colorPrimaryDark = 2130771970; + + // aapt resource value: 0x7F010003 + public const int ic_launcher_background = 2130771971; + + static Color() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Color() + { + } + } + + public partial class Id + { + + // aapt resource value: 0x7F020000 + public const int CreditsButton = 2130837504; + + // aapt resource value: 0x7F020001 + public const int OptionHostName = 2130837505; + + // aapt resource value: 0x7F020002 + public const int OptionPort = 2130837506; + + // aapt resource value: 0x7F020003 + public const int OptionRemoteServer = 2130837507; + + // aapt resource value: 0x7F020004 + public const int OptionsButton = 2130837508; + + // aapt resource value: 0x7F020005 + public const int ResultFullName = 2130837509; + + // aapt resource value: 0x7F020006 + public const int ResultMessage = 2130837510; + + // aapt resource value: 0x7F020007 + public const int ResultResultState = 2130837511; + + // aapt resource value: 0x7F020008 + public const int ResultRunSingleMethodTest = 2130837512; + + // aapt resource value: 0x7F02000A + public const int ResultsFailed = 2130837514; + + // aapt resource value: 0x7F02000B + public const int ResultsId = 2130837515; + + // aapt resource value: 0x7F02000C + public const int ResultsIgnored = 2130837516; + + // aapt resource value: 0x7F02000D + public const int ResultsInconclusive = 2130837517; + + // aapt resource value: 0x7F02000E + public const int ResultsMessage = 2130837518; + + // aapt resource value: 0x7F02000F + public const int ResultsPassed = 2130837519; + + // aapt resource value: 0x7F020010 + public const int ResultsResult = 2130837520; + + // aapt resource value: 0x7F020009 + public const int ResultStackTrace = 2130837513; + + // aapt resource value: 0x7F020011 + public const int RunEverythingButton = 2130837521; + + // aapt resource value: 0x7F020012 + public const int RunTestsButton = 2130837522; + + // aapt resource value: 0x7F020013 + public const int TestSuiteListView = 2130837523; + + static Id() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Id() + { + } + } + + public partial class Layout + { + + // aapt resource value: 0x7F030000 + public const int options = 2130903040; + + // aapt resource value: 0x7F030001 + public const int results = 2130903041; + + // aapt resource value: 0x7F030002 + public const int Runner = 2130903042; + + // aapt resource value: 0x7F030003 + public const int test_result = 2130903043; + + // aapt resource value: 0x7F030004 + public const int test_suite = 2130903044; + + static Layout() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Layout() + { + } + } + + public partial class Mipmap + { + + // aapt resource value: 0x7F040000 + public const int ic_launcher = 2130968576; + + // aapt resource value: 0x7F040001 + public const int ic_launcher_foreground = 2130968577; + + // aapt resource value: 0x7F040002 + public const int ic_launcher_round = 2130968578; + + static Mipmap() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Mipmap() + { + } + } + + public partial class String + { + + // aapt resource value: 0x7F050000 + public const int app_name = 2131034112; + + static String() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private String() + { + } + } + } +} +#pragma warning restore 1591 diff --git a/NunitTest-Android/Resources/mipmap-anydpi-v26/ic_launcher.xml b/NunitTest-Android/Resources/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..e4b2544 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> + <background android:drawable="@color/ic_launcher_background"/> + <foreground android:drawable="@mipmap/ic_launcher_foreground"/> +</adaptive-icon> + diff --git a/NunitTest-Android/Resources/mipmap-anydpi-v26/ic_launcher_round.xml b/NunitTest-Android/Resources/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..e4b2544 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> + <background android:drawable="@color/ic_launcher_background"/> + <foreground android:drawable="@mipmap/ic_launcher_foreground"/> +</adaptive-icon> + diff --git a/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher.png b/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..2531cb3 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher_foreground.png b/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..7a859c2 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher_foreground.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher_round.png b/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..b8d35b3 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-hdpi/ic_launcher_round.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher.png b/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..795ea7c --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher_foreground.png b/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..a12b157 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher_foreground.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher_round.png b/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..8f56909 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-mdpi/ic_launcher_round.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher.png b/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..761cc91 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher_foreground.png b/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..e7d70a5 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher_foreground.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher_round.png b/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..9737d79 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xhdpi/ic_launcher_round.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher.png b/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..9133e31 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher_foreground.png b/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..73ccaa6 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher_foreground.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher_round.png b/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..c3ae5f5 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xxhdpi/ic_launcher_round.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher.png b/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..d4fd714 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png b/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..f6584af --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png Binary files differ diff --git a/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher_round.png b/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..ef89bd5 --- /dev/null +++ b/NunitTest-Android/Resources/mipmap-xxxhdpi/ic_launcher_round.png Binary files differ diff --git a/NunitTest-Android/Resources/values/colors.xml b/NunitTest-Android/Resources/values/colors.xml new file mode 100644 index 0000000..ae02883 --- /dev/null +++ b/NunitTest-Android/Resources/values/colors.xml @@ -0,0 +1,7 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<resources> + <color name="colorPrimary">#2c3e50</color> + <color name="colorPrimaryDark">#1B3147</color> + <color name="colorAccent">#3498db</color> +</resources> + diff --git a/NunitTest-Android/Resources/values/ic_launcher_background.xml b/NunitTest-Android/Resources/values/ic_launcher_background.xml new file mode 100644 index 0000000..3441c6b --- /dev/null +++ b/NunitTest-Android/Resources/values/ic_launcher_background.xml @@ -0,0 +1,5 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<resources> + <color name="ic_launcher_background">#2C3E50</color> +</resources> + diff --git a/NunitTest-Android/Resources/values/strings.xml b/NunitTest-Android/Resources/values/strings.xml new file mode 100644 index 0000000..d92626a --- /dev/null +++ b/NunitTest-Android/Resources/values/strings.xml @@ -0,0 +1,4 @@ +锘�<resources> + <string name="app_name">NunitTest_Android</string> +</resources> + diff --git a/NunitTest-Android/TestsSample.cs b/NunitTest-Android/TestsSample.cs new file mode 100644 index 0000000..2008cb4 --- /dev/null +++ b/NunitTest-Android/TestsSample.cs @@ -0,0 +1,44 @@ +锘縰sing System; +using NUnit.Framework; + +namespace NunitTest_Android +{ + [TestFixture] + public class TestsSample + { + + [SetUp] + public void Setup() { } + + + [TearDown] + public void Tear() { } + + [Test] + public void Pass() + { + Console.WriteLine("test1"); + Assert.True(true); + } + + [Test] + public void Fail() + { + Assert.False(true); + } + + [Test] + [Ignore("another time")] + public void Ignore() + { + Assert.True(false); + } + + [Test] + public void Inconclusive() + { + Assert.Inconclusive("Inconclusive"); + } + } +} + diff --git a/NunitTest-Ios/ApiPostTests.cs b/NunitTest-Ios/ApiPostTests.cs new file mode 100644 index 0000000..968fe5c --- /dev/null +++ b/NunitTest-Ios/ApiPostTests.cs @@ -0,0 +1,47 @@ +锘縰sing System; +using System.Net; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using NUnit.Framework; + +namespace NunitTestIos +{ + [TestFixture] + public class ApiPostTests + { + private HttpClient client; + private const string apiUrl = "https://api.example.com/"; + + [SetUp] + public void Setup() + { + client = new HttpClient(); + client.BaseAddress = new Uri(apiUrl); + } + + [Test] + public async Task TestPostRequest() + { + // 鍑嗗 POST 鏁版嵁 + var postData = new { key = "value" }; + var json = JsonConvert.SerializeObject(postData); + var content = new StringContent(json, Encoding.UTF8, "application/json"); + + // 鍙戣捣 POST 璇锋眰 + HttpResponseMessage response = await client.PostAsync("endpoint", content); + + // 楠岃瘉鐘舵�佺爜 + Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); + + // 楠岃瘉杩斿洖鐨勬暟鎹垨鍝嶅簲鍐呭 + string responseBody = await response.Content.ReadAsStringAsync(); + Assert.IsTrue(!string.IsNullOrEmpty(responseBody)); + // 鍙互杩涗竴姝ラ獙璇佽繑鍥炵殑鏁版嵁鏄惁绗﹀悎棰勬湡 + } + + } + +} + diff --git a/NunitTest-Ios/Entitlements.plist b/NunitTest-Ios/Entitlements.plist new file mode 100644 index 0000000..9ae5993 --- /dev/null +++ b/NunitTest-Ios/Entitlements.plist @@ -0,0 +1,6 @@ +锘�<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> +</dict> +</plist> diff --git a/NunitTest-Ios/Info.plist b/NunitTest-Ios/Info.plist new file mode 100644 index 0000000..c1fe8b0 --- /dev/null +++ b/NunitTest-Ios/Info.plist @@ -0,0 +1,36 @@ +锘�<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"[]> +<plist version="1.0"> + <dict> + <key>CFBundleName</key> + <string>NunitTest-Ios</string> + <key>CFBundleIdentifier</key> + <string>com.hdl.onpronuint.NunitTest-Ios</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>LSRequiresIPhoneOS</key> + <true /> + <key>MinimumOSVersion</key> + <string>16.4</string> + <key>UIDeviceFamily</key> + <array> + <integer>1</integer> + <integer>2</integer> + </array> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>UILaunchStoryboardName</key> + <string>LaunchScreen</string> + <key>NSAppTransportSecurity</key> + <dict> + <key>NSAllowsArbitraryLoads</key> + <true /> + </dict> + </dict> +</plist> diff --git a/NunitTest-Ios/LaunchScreen.storyboard b/NunitTest-Ios/LaunchScreen.storyboard new file mode 100644 index 0000000..71e51e7 --- /dev/null +++ b/NunitTest-Ios/LaunchScreen.storyboard @@ -0,0 +1,27 @@ +锘�<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM"> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/> + </dependencies> + <scenes> + <!--View Controller--> + <scene sceneID="EHf-IW-A2E"> + <objects> + <viewController id="01J-lp-oVM" sceneMemberID="viewController"> + <layoutGuides> + <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/> + <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/> + </layoutGuides> + <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> + <rect key="frame" x="0.0" y="0.0" width="600" height="600"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> + </view> + </viewController> + <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="53" y="375"/> + </scene> + </scenes> +</document> diff --git a/NunitTest-Ios/Main.cs b/NunitTest-Ios/Main.cs new file mode 100644 index 0000000..f617f35 --- /dev/null +++ b/NunitTest-Ios/Main.cs @@ -0,0 +1,20 @@ +锘縰sing System; +using System.Linq; +using System.Collections.Generic; + +using Foundation; +using UIKit; + +namespace NunitTestIos +{ + public class Application + { + // This is the main entry point of the application. + static void Main (string[] args) + { + // if you want to use a different Application Delegate class from "UnitTestAppDelegate" + // you can specify it here. + UIApplication.Main (args, null, "UnitTestAppDelegate"); + } + } +} diff --git a/NunitTest-Ios/NunitTest-Ios.csproj b/NunitTest-Ios/NunitTest-Ios.csproj new file mode 100644 index 0000000..a2d0a57 --- /dev/null +++ b/NunitTest-Ios/NunitTest-Ios.csproj @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\packages\NUnit.4.0.1\build\NUnit.props" Condition="Exists('..\packages\NUnit.4.0.1\build\NUnit.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> + <ProjectGuid>{C70A6AA7-2FBA-4A37-9132-AD49BD037899}</ProjectGuid> + <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <OutputType>Exe</OutputType> + <RootNamespace>NunitTestIos</RootNamespace> + <AssemblyName>NunitTest-Ios</AssemblyName> + <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\iPhoneSimulator\Debug</OutputPath> + <DefineConstants>DEBUG;</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <CreatePackage>false</CreatePackage> + <CodesignKey>iPhone Developer</CodesignKey> + <MtouchDebug>true</MtouchDebug> + <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> + <MtouchFastDev>true</MtouchFastDev> + <IOSDebuggerPort>46534</IOSDebuggerPort> + <MtouchLink>None</MtouchLink> + <MtouchArch>x86_64</MtouchArch> + <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler> + <DeviceSpecificBuild>false</DeviceSpecificBuild> + <_BundlerDebug>false</_BundlerDebug> + <MtouchVerbosity></MtouchVerbosity> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\iPhone\Release</OutputPath> + <DefineConstants></DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <CreatePackage>false</CreatePackage> + <CodesignKey>iPhone Developer</CodesignKey> + <MtouchUseLlvm>true</MtouchUseLlvm> + <MtouchFloat32>true</MtouchFloat32> + <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> + <MtouchArch>ARM64</MtouchArch> + <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler> + <MtouchVerbosity></MtouchVerbosity> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\iPhoneSimulator\Release</OutputPath> + <DefineConstants></DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <CreatePackage>false</CreatePackage> + <CodesignKey>iPhone Developer</CodesignKey> + <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> + <MtouchLink>None</MtouchLink> + <MtouchArch>x86_64</MtouchArch> + <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler> + <MtouchVerbosity></MtouchVerbosity> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\iPhone\Debug</OutputPath> + <DefineConstants>DEBUG;</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <CreatePackage>false</CreatePackage> + <CodesignKey>iPhone Developer</CodesignKey> + <DeviceSpecificBuild>true</DeviceSpecificBuild> + <MtouchDebug>true</MtouchDebug> + <MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> + <MtouchFastDev>true</MtouchFastDev> + <MtouchFloat32>true</MtouchFloat32> + <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> + <IOSDebuggerPort>46534</IOSDebuggerPort> + <MtouchArch>ARM64</MtouchArch> + <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler> + <_BundlerDebug>false</_BundlerDebug> + <MtouchVerbosity></MtouchVerbosity> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Core" /> + <Reference Include="Xamarin.iOS" /> + <Reference Include="MonoTouch.NUnitLite" /> + <Reference Include="System.Net.Http" /> + <Reference Include="Newtonsoft.Json"> + <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll</HintPath> + </Reference> + </ItemGroup> + <ItemGroup> + <InterfaceDefinition Include="LaunchScreen.storyboard" /> + </ItemGroup> + <ItemGroup> + <None Include="Info.plist" /> + <None Include="Entitlements.plist" /> + <None Include="packages.config" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Main.cs" /> + <Compile Include="UnitTestAppDelegate.cs" /> + <Compile Include="ApiPostTests.cs" /> + </ItemGroup> + <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> +</Project> \ No newline at end of file diff --git a/NunitTest-Ios/UnitTestAppDelegate.cs b/NunitTest-Ios/UnitTestAppDelegate.cs new file mode 100644 index 0000000..9ed5895 --- /dev/null +++ b/NunitTest-Ios/UnitTestAppDelegate.cs @@ -0,0 +1,46 @@ +锘縰sing System; +using System.Linq; +using System.Collections.Generic; + +using Foundation; +using UIKit; +using MonoTouch.NUnit.UI; + +namespace NunitTestIos +{ + // The UIApplicationDelegate for the application. This class is responsible for launching the + // User Interface of the application, as well as listening (and optionally responding) to + // application events from iOS. + [Register ("UnitTestAppDelegate")] + public partial class UnitTestAppDelegate : UIApplicationDelegate + { + // class-level declarations + UIWindow window; + TouchRunner runner; + + // + // This method is invoked when the application has loaded and is ready to run. In this + // method you should instantiate the window, load the UI into it and then make the window + // visible. + // + // You have 17 seconds to return from this method, or iOS will terminate your application. + // + public override bool FinishedLaunching (UIApplication app, NSDictionary options) + { + // create a new window instance based on the screen size + window = new UIWindow (UIScreen.MainScreen.Bounds); + runner = new TouchRunner (window); + + // register every tests included in the main application/assembly + runner.Add (System.Reflection.Assembly.GetExecutingAssembly ()); + + window.RootViewController = new UINavigationController (runner.GetViewController ()); + + // make the window visible + window.MakeKeyAndVisible (); + + return true; + } + } +} + diff --git a/NunitTest-Ios/packages.config b/NunitTest-Ios/packages.config new file mode 100644 index 0000000..1cd9b6f --- /dev/null +++ b/NunitTest-Ios/packages.config @@ -0,0 +1,6 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="Newtonsoft.Json" version="13.0.3" targetFramework="xamarinios10" /> + <package id="NUnit" version="4.0.1" targetFramework="xamarinios10" /> + <package id="System.Net.Http" version="4.3.4" targetFramework="xamarinios10" /> +</packages> \ No newline at end of file -- Gitblit v1.8.0