Compare commits
No commits in common. "6da791d7bb358230ad50799d230038090e0c5c23" and "e667051a81e6391137f7e4d794c92f71c296c026" have entirely different histories.
6da791d7bb
...
e667051a81
@ -18,33 +18,28 @@ die Methoden mit Daten ausprobieren.
|
|||||||
|
|
||||||
## Build -> Test -> Run ##
|
## Build -> Test -> Run ##
|
||||||
|
|
||||||
In einem IDE in dem Repo zu diesem Ordner navigieren.
|
Navigiere im IDE zum [rust](/)-Ordner in deinem IDE.
|
||||||
</br>
|
Öffne eine bash-Konsole und führe folgende Befehle aus:
|
||||||
Eine bash-Konsole aufmachen und folgende Befehle ausführen:
|
|
||||||
|
|
||||||
Wer **make** installiert hat:
|
Wer **make** hat:
|
||||||
```bash
|
```bash
|
||||||
# Zum Kompilieren (nur nach Änderungen nötig):
|
# zum Kompilieren (nur nach Änderungen nötig):
|
||||||
make build;
|
make build;
|
||||||
# Zur Ausführung der unit tests:
|
# zur Ausführung der unit tests:
|
||||||
make tests;
|
make tests;
|
||||||
# Zur Ausführung des Programms
|
# zur Ausführung des Programms
|
||||||
make run;
|
make run;
|
||||||
# Zur Bereinigung aller Artefakte
|
# zur Bereinigung aller Artefakte
|
||||||
make clean;
|
make clean;
|
||||||
```
|
```
|
||||||
Wer _kein_ make hat:
|
Wer _kein_ make hat:
|
||||||
```bash
|
```bash
|
||||||
# Zum Kompilieren (nur nach Änderungen nötig):
|
# zum Kompilieren (nur nach Änderungen nötig):
|
||||||
cargo build --release;
|
cargo build --release;
|
||||||
# Zur Ausführung der unit tests:
|
# zur Ausführung der unit tests:
|
||||||
cargo test;
|
cargo test;
|
||||||
# Zur Ausführung des Programms:
|
# zur Ausführung des Programms
|
||||||
./dist/ads2
|
dist/ads2 # oder den gebauten Artefakt mit Maus doppelklicken
|
||||||
# bzw. ads2.exe für Windows.
|
|
||||||
# Alternativ kann man den gebauten Artefakt per doppelklicken ausführen.
|
|
||||||
```
|
```
|
||||||
Der `build` Schritt baut einen binären Artefakt
|
Der `build` Schritt baut einen binären Artefekt
|
||||||
und kopiert dies nach dem [./dist/*](dist/) Ordner.
|
und kopiert dies nach dem [./dist/*](dist/) Ordner.
|
||||||
|
|
||||||
Man kann auch mit einem guten Editor/IDE die Tests einzeln ausführen.
|
|
||||||
|
@ -31,28 +31,6 @@ fn fixture_graph2() -> graph::Graph<i32> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[fixture]
|
|
||||||
fn fixture_graph3() -> graph::Graph<i32> {
|
|
||||||
return graph::Graph::<i32>::new(
|
|
||||||
vec![1,2,3,4,5,6,7,8],
|
|
||||||
vec![
|
|
||||||
(1,2),
|
|
||||||
(1,3),
|
|
||||||
(2,4),
|
|
||||||
(2,5),
|
|
||||||
(3,5),
|
|
||||||
(3,6),
|
|
||||||
(3,8),
|
|
||||||
(4,5),
|
|
||||||
(4,7),
|
|
||||||
(5,1),
|
|
||||||
(5,8),
|
|
||||||
(6,8),
|
|
||||||
(7,8),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
// Test Graph
|
// Test Graph
|
||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
@ -60,12 +38,13 @@ fn fixture_graph3() -> graph::Graph<i32> {
|
|||||||
#[rstest]
|
#[rstest]
|
||||||
#[case(fixture_graph1(), vec![vec![1], vec![3], vec![2,4]])]
|
#[case(fixture_graph1(), vec![vec![1], vec![3], vec![2,4]])]
|
||||||
#[case(fixture_graph2(), vec![vec![1], vec![6], vec![7], vec![2,3,4,5]])]
|
#[case(fixture_graph2(), vec![vec![1], vec![6], vec![7], vec![2,3,4,5]])]
|
||||||
#[case(fixture_graph3(), vec![vec![8], vec![7], vec![6], vec![3, 5, 4, 2, 1]])]
|
|
||||||
fn test_tarjan<T>(#[case] gph: graph::Graph<T>, #[case] expected: Vec<Vec<T>>)
|
fn test_tarjan<T>(#[case] gph: graph::Graph<T>, #[case] expected: Vec<Vec<T>>)
|
||||||
where T: Eq + Hash + Clone + Display
|
where T: Eq + Hash + Clone + Display
|
||||||
{
|
{
|
||||||
let components = tarjan::tarjan_algorithm(&gph);
|
assert_components_eq(
|
||||||
assert_components_eq(&components, &expected)
|
&tarjan::tarjan_algorithm(&gph),
|
||||||
|
&expected
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user