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

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

Funkcje weryfikujące związane z systemem plików

Funkcje weryfikujące związane z połączeniami ('connections')

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ć.

  • 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).
  • is_scalar():
    • Sprawdza, czy obiekt jest skalarem (tj. długości jeden).
  • Funkcje [assert_]is_a[n]_[…]:
    • Funkcje testują, czy obiekt jest danego typu i jednocześnie jest skalarem (tj. długości jeden).
    • Funkcje 'is_a_[…]' zwracają, czy warunki są spełnione.
    • Funkcje 'assert_is_a_[…]' zwracają błędy, jeśli warunki nie są spełnione.
    • Typy, które można testować obejmują:
      • [assert_]is_a_bool - typ logical.
      • [assert_]is_an_empty_string - pusty ciąg znaków ('').
      • [assert_]is_a_complex - typ complex (np. 1i).
      • [assert_]is_an_integer - typ integer.
      • [assert_]is_a_non_empty_string - niepusty ciąg znaków
      • [assert_]is_a_number - typ numeric (integer lub double).
      • [assert_]is_a_raw - typ raw (takie dziwne coś, p. ?raw).
      • [assert_]is_a_string - ciąg znaków.

Testowanie złożonych typów

Testowanie możliwości środowiska

  • 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();
pakietassert.1435752921.txt.gz · ostatnio zmienione: 2015/07/01 14:15 przez t.zoltak