|
Prakticke aspekty vývoje softwaru: Projekt 1 – Testování
1.0
Projekt zaměřený na osvojení praktik testování včetně technik test driven development, black box testing a white box testing.
|
Zobrazit dokumentaci tohoto souboru.
19 #ifndef SUFFIX_AUTOMATON_HPP
20 #define SUFFIX_AUTOMATON_HPP
23 #include <unordered_map>
34 std::optional<size_t>
link;
35 std::unordered_map<char, size_t>
next;
50 std::vector<State> states;
93 bool step(
const size_t state_index,
const char& elem,
size_t& next_state)
const;
102 const std::unordered_map<char, size_t>&
next(
const size_t state_index)
const;
110 bool contains(
const std::string& seq)
const;
153 #endif // SUFFIX_AUTOMATON_HPP
Třída sufixového automatu.
Definition: white_box_code.h:48
size_t size() const
Získání počtu stavů v automatu.
Definition: white_box_code.cpp:155
std::string longest_direct_continuation(const size_t state_index) const
Získání nejdelšího přímého pokračování z daného stavu Nejdelší přímé pokračování je definováno jako s...
Definition: white_box_code.cpp:140
std::unordered_map< char, size_t > next
Přechody pro každý prvek.
Definition: white_box_code.h:35
void clear()
Vyčištění automatu.
Definition: white_box_code.cpp:159
void add_element(char elem)
Přidání prvku do automatu.
Definition: white_box_code.cpp:26
bool step(const size_t state_index, const char &elem, size_t &next_state) const
Krok z daného stavu pomocí prvku.
Definition: white_box_code.cpp:91
std::optional< size_t > link
Odkaz na nejdelší suffix, který je v jiné třídě ekvivalence endpos.
Definition: white_box_code.h:34
std::vector< size_t > topological_sort() const
Získání topologického uspořádání stavů Složitost: O(n), kde n je počet stavů v automatu.
Definition: white_box_code.cpp:118
Stav sufixového automatu.
Definition: white_box_code.h:32
size_t len
Délka nejdelšího suffixu reprezentovaného tímto stavem.
Definition: white_box_code.h:33
void add_sequence(const std::string &seq)
Přidání sekvence elementů do automatu.
Definition: white_box_code.cpp:85
State()
Konstruktor nového objektu State.
Definition: white_box_code.h:41
const std::unordered_map< char, size_t > & next(const size_t state_index) const
Získání elementů, ze kterých je možný přechod z daného stavu.
Definition: white_box_code.cpp:102
const State & get_state(size_t index) const
Získání stavu na daném indexu.
Definition: white_box_code.cpp:167
bool contains(const std::string &seq) const
Kontrola, zda automat obsahuje danou sekvenci.
Definition: white_box_code.cpp:107
SuffixAutomaton()
Konstruktor nového prázdného objektu sufixového automatu.
Definition: white_box_code.cpp:20
SuffixAutomaton(const std::string &seq)
Konstruktor nového objektu sufixového automatu.
Definition: white_box_code.h:66