To jest stara wersja strony!
Przewodnik po funkcjach pakietu assertive
Typy funkcji
Większość funkcji ma nazwę postaci 'orzeczenie_dopełnienie', gdzie orzeczenie ('is', 'assert_is', 'has', itp.) wskazuje, jakiego rodzaju operacja ma być wykonana, a dopełnienie wskazuje, na to, co jest poszukiwane, lub do czego przyrównywane (podmiot stanowią argumenty).
Funkcje pakietu assertive można podzielić na kilka szerokich grup według dwóch różnych specyfikacji. Pierwszy podział (sposób działania) odnosi się do rodzaju orzeczenia, a drugi (dziedzinowy) odnosi się do rodzaju dopełnienia.
Podział ze względu na sposób działania
Funkcje is_[…] i are_[…]:
Funkcje has_[…]:
Funkcje assert_is_[…] i assert_are_[…]:
Stanowią nadbudowę na odpowiednimi funkcjami is_[…] i are_[…], polegającą na tym, że gdy weryfikacja warunku zwraca wartość FALSE, zwrócony zostaje błąd (w formie przyjaznej użytkownikowi).
Odnoszą się do weryfikacji dotyczących obiektu jako całości, a nie cech poszczególnych jego elementów.
Funkcje assert_has_[…]:
Stanowią nadbudowę na odpowiednimi funkcjami has_[…], polegającą na tym, że gdy weryfikacja warunku zwraca wartość FALSE, zwrócony zostaje błąd (w formie przyjaznej użytkownikowi).
Funkcje assert_all_are_[…]:
Stanowią nadbudowę na odpowiednimi funkcjami is_[…] i are_[…], polegającą na tym, że gdy weryfikacja warunku zwraca wartość FALSE dla chociaż jednego elementu wektora (będącego podmiotem), zwrócony zostaje błąd (w formie przyjaznej użytkownikowi).
Odnoszą się do weryfikacji dotyczących cech poszczególnych elementów obiektu (będącego podmiotem).
Funkcje assert_any_are_[…]:
Stanowią nadbudowę na odpowiednimi funkcjami is_[…] i are_[…], polegającą na tym, że jeśli weryfikacja warunku nie zwraca wartość TRUE dla chociaż jednego elementu wektora (będącego podmiotem), zwrócony zostaje błąd (w formie przyjaznej użytkownikowi).
Odnoszą się do weryfikacji dotyczących cech poszczególnych elementów obiektu (będącego podmiotem).
Podział ze względu na dziedzinę stosowania
-
typy atomowe,
typy złożone, ale podstawowe, szeroko używane,
typy specjalistyczne i specyficzne podtypy.
-
-
-
-
-
-
-
Funkcje weryfikujące typy obiektów
Typy podstawowe (atomowe i złożone, ale powszechnie występujące)
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_array | + | + | - | - |
_atomic |
_call |
_character |
_complex |
_data.frame |
_environment |
_expression |
_factor |
_function |
_integer |
_language |
_list |
_logical |
_matrix |
_name |
_numeric |
_primitive |
_raw |
_recursive |
_stepfun |
_symbol |
_table |
_vector |
Funkcje weryfikujące typ i jednooelementowość
Jeśli to czytasz, zapoznaj się z funkcją is_if_conditon()!
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_if_codition | + | + | - | - |
_a_bool |
_an_empty_string |
_a_complex |
_an_integer |
_a_non_empty_string |
_a_number |
_a_raw |
_a_string |
Typy specjalistyczne i specyficzne podtypy
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_empty_model | + | + | - | - |
_leaf |
_mts |
_non_empty_model |
_qr |
_raster |
_symmetric_matrix |
_ts |
_tskernel |
Funkcje weryfikujące własności obiektów
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are | has | assert_has |
_all_attributes | - | - | - | - | + | - |
_all_of | - | + | - | - | - | - |
_any_attributes | - | - | - | - | + | + |
_any_of | - | + | - | - | - | - |
_arg | - | - | - | - | + | - |
_attributes | - | - | - | - | - | + |
_class[es] | + | - | + | + | - | - |
_colnames | - | - | - | - | + | + |
_cols | - | - | - | - | + | + |
_dimnames | - | - | - | - | + | + |
_dims | - | - | - | - | + | + |
_duplicates | - | - | - | - | + | + |
_elements | - | - | - | - | + | + |
_error_free | + | - | - | - | - | - |
_inherited_from | + | + | - | - | - | - |
_names | - | - | - | - | + | + |
_no_duplicates | - | - | - | - | + | + |
_of_dimension | + | + | - | - | - | - |
_of_length | + | + | - | - | - | - |
_ordered | + | + | - | - | - | - |
_relistable | + | + | - | - | - | - |
_rownames | - | - | - | - | + | + |
_rows | - | - | - | - | + | + |
_s4 | + | + | - | - | - | - |
_same_length | + | - | + | + | - | - |
_scalar | + | + | - | - | - | - |
_terms | - | - | - | - | + | + |
_unsorted | + | + | - | - | - | - |
Funkcje weryfikujące wartości obiektów
Wartości logiczne i braki danych
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_empty | + | + | - | - |
_empty_character | + | - | - | - |
_false | + | - | + | + |
_identical | + | - | + | + |
_identical_to_false | + | + | - | - |
_identical_to_true | + | + | - | - |
_missing_or_empty_character | + | - | - | - |
_na | + | - | - | - |
_non_empty | + | + | - | - |
_not_missing_nor_empty_character[s] | + | - | + | + |
_not_na | + | - | + | + |
_not_null | + | + | - | - |
_null | + | + | - | - |
_strings_are_missing_or_empty | - | - | + | + |
_strings_are_not_missing_nor_empty | - | - | + | + |
_true | + | - | + | + |
Wartości liczbowe, daty i zbiory
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_in_future | + | - | + | + |
_in_past |
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_divisible_by | + | - | + | + |
_even |
_finite |
_imaginary |
_in_closed_range |
_in_left_open_range |
_in_open_range |
_in_range |
_in_right_open_range |
_infinite |
_nan |
_negative |
_negative_infinity |
_non_negative |
_non_positive |
_not_nan |
_numbers_are_whole_numbers | - | - | + | + |
_odd | + | - | + | + |
_percentage[s] |
_positive |
_positive_infinity |
_proportion[s] |
_real |
_whole_number[s] |
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_set_equal | + | + | - | - |
_subset |
_superset |
Ciągi znaków
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_date_string[s] | + | - | + | + |
_hex_colour[s] |
_ip_addresse[s] |
_numeric_string[s] |
_single_character[s] |
_valid_r_code | + | - | - | - |
_valid_variable_name[s] | + | - | + | + |
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_cas_number[s] | + | - | + | + |
_credit_card_number[s] |
_email_addresse[s] |
_honorific | + | - | - | - |
_isbn_code[s] | + | - | + | + |
_isbn10_code | + | - | - | - |
_isbn13_code |
_uk_car_licence[s] | + | - | + | + |
_uk_national_insurance_number[s] |
_uk_postcode[s] |
_uk_telephone_number[s] |
_us_telephone_number[s] |
_us_zip_code[s] |
Funkcje weryfikujące związane z systemem plików
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_dir[s] | + | - | + | + |
_empty_file[s] |
_executable_file[s] |
_existing_file[s] |
_readable_file[s] |
_writable_file[s] |
Funkcje weryfikujące związane z połączeniami ('connections')
dopełnienie | is, are | assert_is | assert_all_are | assert_any_are |
_bzfile_connection | + | - | + | + |
_connection |
_fifo_connection |
_file_connection |
_gzfile_connection |
_incomplete_connection |
_open_connection |
_pipe_connection |
_readable_connection |
_socket_connection |
_stderr |
_stdin |
_stdout |
_terminal_connection |
_text_connection |
_unz_connection |
_url_connection |
_writable_connection |
_xzfile_connection |
Funkcje weryfikujące związane ze środowiskiem ('enviroment')
Funkcje weryfikujące związane z typem i możliwościami systemu
Inne funkcje
Argumenty, które powinny być jednoelementowe
Uwaga: Wszystkim opisanym poniżej funkcjom nie przeszkadza, jeśli obiekty zawierają pojedynczy brak danych (NA, lub wartości o podobnym znaczeniu: NaN, Inf, -Inf). Jeśli takiego przypadku nie dopuszczamy, należy go oddzielnie obsłużyć.
Testowanie złożonych typów
Testowanie możliwości środowiska