Narzędzia użytkownika

Narzędzia witryny


pakietassert

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_[…]:
    • Zwracają wartość logiczną weryfikacji, czy argument (lub argumenty) są typu (w bardzo szerokim rozumieniu tego słowa) wyznaczanym przez dopełnienie […].
  • Funkcje has_[…]:
    • Zwracają wartość logiczną weryfikacji, czy argument posiada własności wyznaczane przez dopełnienie […].
  • 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

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()!

Uwaga: Wszystkim opisanym poniżej funkcjom, z wyjątkiem [assert_]is_if_condition(), 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ć.

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')

dopełnienie is, are assert_is assert_all_are assert_any_are
_batch_mode + + - -
_binding_locked
_comma_for_decimal_point
_debugged
_existing + - + +
_interactive + + - -
_loaded
_period_for_decimal_point

Funkcje weryfikujące związane z typem i możliwościami systemu

  • Funkcje [assert_]r_has_[…]_capabilities.
  • Funkcje [assert_]r_can_[…].
  • Funkcje assert_is_r_[…].
  • Funkcje [assert_]is_[…]:
    • [assert_]is_64_bit_os();
    • [assert_]is_32_bit();
    • [assert_]is_64_bit();
    • [assert_]is_bsd();
    • [assert_]is_linux();
    • [assert_]is_mac();
    • [assert_]is_solaris();
    • [assert_]is_unix();
    • [assert_]is_windows();

Inne funkcje

  • use_first():
    • Funkcja zwraca pierwszy element obiektu, a jeśli miał ich więcej, dodatkowo pluje ostrzeżeniem.
    • Uwagi:
      • Jeśli przekazywany obiekt jest listą, to zostanie zwrócony jej pierwszy element, czym by nie był. Także o wyświetleniu lub nie ostrzeżenia decyduje długość samej listy (a nie struktura jej elementów).
pakietassert.1435756961.txt.gz · ostatnio zmienione: 2015/07/01 15:22 przez t.zoltak