aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2020-07-24 14:23:53 +0200
committerDaniel Schadt <kingdread@gmx.de>2020-07-24 14:23:53 +0200
commit71528905ed228750559a41144a2e0a95db3e6805 (patch)
tree4e46c6cbd3a3e83ab707e7156b345fbe7f3048ea /tests
parent01354b0934409c355831bb4202f998fe5dbdc335 (diff)
parent9d27ec7034f9ad07d8a1d74ab30fdc470de4e02d (diff)
downloadevtclib-71528905ed228750559a41144a2e0a95db3e6805.tar.gz
evtclib-71528905ed228750559a41144a2e0a95db3e6805.tar.bz2
evtclib-71528905ed228750559a41144a2e0a95db3e6805.zip
Merge branch 'analyzers'
This brings in proper fight outcome detection, which is nice and needed for downstream applications (raidgrep/ezau). Furthermore, this cleans up the CM detection a bit by moving away from the "descriptive" trigger way to just having dynamically dispatched methods for every log.
Diffstat (limited to 'tests')
-rw-r--r--tests/analyzers.rs31
-rw-r--r--tests/logs/analyzers/xera-failed-20200714.zevtcbin0 -> 749741 bytes
-rw-r--r--tests/logs/analyzers/xera-success-20200714.zevtcbin0 -> 1724050 bytes
-rw-r--r--tests/parsing.rs5
4 files changed, 36 insertions, 0 deletions
diff --git a/tests/analyzers.rs b/tests/analyzers.rs
new file mode 100644
index 0000000..c7ed6bd
--- /dev/null
+++ b/tests/analyzers.rs
@@ -0,0 +1,31 @@
+//! Test for (some) analyzer functions.
+//!
+//! Even if those tests do not test the actual functionality, they ensure that the API is usable.
+
+use evtclib::{Compression, Outcome};
+
+#[test]
+fn test_xera_failed() {
+ let log = evtclib::process_file(
+ "tests/logs/analyzers/xera-failed-20200714.zevtc",
+ Compression::Zip,
+ )
+ .unwrap();
+
+ let analyzer = log.analyzer().expect("No analyzer for Xera!");
+
+ assert_eq!(analyzer.outcome(), Some(Outcome::Failure));
+}
+
+#[test]
+fn test_xera_succeeded() {
+ let log = evtclib::process_file(
+ "tests/logs/analyzers/xera-success-20200714.zevtc",
+ Compression::Zip,
+ )
+ .unwrap();
+
+ let analyzer = log.analyzer().expect("No analyzer for Xera!");
+
+ assert_eq!(analyzer.outcome(), Some(Outcome::Success));
+}
diff --git a/tests/logs/analyzers/xera-failed-20200714.zevtc b/tests/logs/analyzers/xera-failed-20200714.zevtc
new file mode 100644
index 0000000..c4e72bf
--- /dev/null
+++ b/tests/logs/analyzers/xera-failed-20200714.zevtc
Binary files differ
diff --git a/tests/logs/analyzers/xera-success-20200714.zevtc b/tests/logs/analyzers/xera-success-20200714.zevtc
new file mode 100644
index 0000000..0289f4c
--- /dev/null
+++ b/tests/logs/analyzers/xera-success-20200714.zevtc
Binary files differ
diff --git a/tests/parsing.rs b/tests/parsing.rs
index 58e890a..324d823 100644
--- a/tests/parsing.rs
+++ b/tests/parsing.rs
@@ -28,6 +28,11 @@ macro_rules! test {
assert_eq!(player.profession(), *profession);
assert_eq!(player.elite(), *elite_spec);
}
+
+ // We don't want to assert the correct outcome here (yet?), but at least ensure we have
+ // analyzer's ready that produce some outcome.
+ assert!(log.analyzer().is_some());
+ assert!(log.analyzer().unwrap().outcome().is_some());
}
};
}