aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2020-04-28 14:51:42 +0200
committerDaniel Schadt <kingdread@gmx.de>2020-04-28 14:51:42 +0200
commit7a631f428ce38112157d1c16eaaa2df248c1d46d (patch)
tree5d11a9dcc0bbac33dce27a75577d2c012dc440cd
parent3d272591bf52d9206f02c952fecddbf91176bdcb (diff)
downloadevtclib-7a631f428ce38112157d1c16eaaa2df248c1d46d.tar.gz
evtclib-7a631f428ce38112157d1c16eaaa2df248c1d46d.tar.bz2
evtclib-7a631f428ce38112157d1c16eaaa2df248c1d46d.zip
add integration-style tests for each boss
This makes sure that at least the basic functionality is working. The logs are "real world" logs, unmodified, directly from arcdps. Some of the names have special characters in them, so that part of the code is tested as well.
-rw-r--r--tests/logs/adina-20200427.zevtcbin0 -> 1432560 bytes
-rw-r--r--tests/logs/arkk-20200427.zevtcbin0 -> 322331 bytes
-rw-r--r--tests/logs/artsariiv-20200427.zevtcbin0 -> 326906 bytes
-rw-r--r--tests/logs/boneskinner-20200424.zevtcbin0 -> 1382021 bytes
-rw-r--r--tests/logs/ca-20200426.zevtcbin0 -> 1139636 bytes
-rw-r--r--tests/logs/cairn-20200426.zevtcbin0 -> 1197876 bytes
-rw-r--r--tests/logs/deimos-20200428.zevtcbin0 -> 1914481 bytes
-rw-r--r--tests/logs/desmina-20200425.zevtcbin0 -> 2192274 bytes
-rw-r--r--tests/logs/dhuum-20200428.zevtcbin0 -> 3022512 bytes
-rw-r--r--tests/logs/ensolyss-20200427.zevtcbin0 -> 407476 bytes
-rw-r--r--tests/logs/fraenir-20200424.zevtcbin0 -> 832493 bytes
-rw-r--r--tests/logs/gorseval-20200421.zevtcbin0 -> 1344712 bytes
-rw-r--r--tests/logs/icebrood-20200424.zevtcbin0 -> 480367 bytes
-rw-r--r--tests/logs/kc-20200426.zevtcbin0 -> 2166890 bytes
-rw-r--r--tests/logs/kodans-20200424.zevtcbin0 -> 691773 bytes
-rw-r--r--tests/logs/largos-20200426.zevtcbin0 -> 3404518 bytes
-rw-r--r--tests/logs/mama-20200427.zevtcbin0 -> 247017 bytes
-rw-r--r--tests/logs/matthias-20200421.zevtcbin0 -> 2838580 bytes
-rw-r--r--tests/logs/mo-20200426.zevtcbin0 -> 1442764 bytes
-rw-r--r--tests/logs/old-cairn-20180321.evtc.zipbin0 -> 663450 bytes
-rw-r--r--tests/logs/qadim-20200427.zevtcbin0 -> 3660529 bytes
-rw-r--r--tests/logs/qadimp-20200427.zevtcbin0 -> 2555784 bytes
-rw-r--r--tests/logs/sabetha-20200421.zevtcbin0 -> 2088267 bytes
-rw-r--r--tests/logs/sabir-20200427.zevtcbin0 -> 2572049 bytes
-rw-r--r--tests/logs/samarog-20200426.zevtcbin0 -> 2429302 bytes
-rw-r--r--tests/logs/siax-20200427.zevtcbin0 -> 194711 bytes
-rw-r--r--tests/logs/skorvald-20200427.zevtcbin0 -> 283123 bytes
-rw-r--r--tests/logs/slothasor-20200420.zevtcbin0 -> 1700279 bytes
-rw-r--r--tests/logs/vg-20200421.zevtcbin0 -> 1302987 bytes
-rw-r--r--tests/logs/whisper-20200424.zevtcbin0 -> 1160746 bytes
-rw-r--r--tests/logs/xera-20200415.zevtcbin0 -> 1580720 bytes
-rw-r--r--tests/parsing.rs583
32 files changed, 583 insertions, 0 deletions
diff --git a/tests/logs/adina-20200427.zevtc b/tests/logs/adina-20200427.zevtc
new file mode 100644
index 0000000..845fb10
--- /dev/null
+++ b/tests/logs/adina-20200427.zevtc
Binary files differ
diff --git a/tests/logs/arkk-20200427.zevtc b/tests/logs/arkk-20200427.zevtc
new file mode 100644
index 0000000..57f728c
--- /dev/null
+++ b/tests/logs/arkk-20200427.zevtc
Binary files differ
diff --git a/tests/logs/artsariiv-20200427.zevtc b/tests/logs/artsariiv-20200427.zevtc
new file mode 100644
index 0000000..9825747
--- /dev/null
+++ b/tests/logs/artsariiv-20200427.zevtc
Binary files differ
diff --git a/tests/logs/boneskinner-20200424.zevtc b/tests/logs/boneskinner-20200424.zevtc
new file mode 100644
index 0000000..f287014
--- /dev/null
+++ b/tests/logs/boneskinner-20200424.zevtc
Binary files differ
diff --git a/tests/logs/ca-20200426.zevtc b/tests/logs/ca-20200426.zevtc
new file mode 100644
index 0000000..16c38b0
--- /dev/null
+++ b/tests/logs/ca-20200426.zevtc
Binary files differ
diff --git a/tests/logs/cairn-20200426.zevtc b/tests/logs/cairn-20200426.zevtc
new file mode 100644
index 0000000..e1ae225
--- /dev/null
+++ b/tests/logs/cairn-20200426.zevtc
Binary files differ
diff --git a/tests/logs/deimos-20200428.zevtc b/tests/logs/deimos-20200428.zevtc
new file mode 100644
index 0000000..3c65fb7
--- /dev/null
+++ b/tests/logs/deimos-20200428.zevtc
Binary files differ
diff --git a/tests/logs/desmina-20200425.zevtc b/tests/logs/desmina-20200425.zevtc
new file mode 100644
index 0000000..cc9be17
--- /dev/null
+++ b/tests/logs/desmina-20200425.zevtc
Binary files differ
diff --git a/tests/logs/dhuum-20200428.zevtc b/tests/logs/dhuum-20200428.zevtc
new file mode 100644
index 0000000..e5a06a1
--- /dev/null
+++ b/tests/logs/dhuum-20200428.zevtc
Binary files differ
diff --git a/tests/logs/ensolyss-20200427.zevtc b/tests/logs/ensolyss-20200427.zevtc
new file mode 100644
index 0000000..a210505
--- /dev/null
+++ b/tests/logs/ensolyss-20200427.zevtc
Binary files differ
diff --git a/tests/logs/fraenir-20200424.zevtc b/tests/logs/fraenir-20200424.zevtc
new file mode 100644
index 0000000..5771573
--- /dev/null
+++ b/tests/logs/fraenir-20200424.zevtc
Binary files differ
diff --git a/tests/logs/gorseval-20200421.zevtc b/tests/logs/gorseval-20200421.zevtc
new file mode 100644
index 0000000..8427add
--- /dev/null
+++ b/tests/logs/gorseval-20200421.zevtc
Binary files differ
diff --git a/tests/logs/icebrood-20200424.zevtc b/tests/logs/icebrood-20200424.zevtc
new file mode 100644
index 0000000..f67d5bc
--- /dev/null
+++ b/tests/logs/icebrood-20200424.zevtc
Binary files differ
diff --git a/tests/logs/kc-20200426.zevtc b/tests/logs/kc-20200426.zevtc
new file mode 100644
index 0000000..a92cb15
--- /dev/null
+++ b/tests/logs/kc-20200426.zevtc
Binary files differ
diff --git a/tests/logs/kodans-20200424.zevtc b/tests/logs/kodans-20200424.zevtc
new file mode 100644
index 0000000..d366ecb
--- /dev/null
+++ b/tests/logs/kodans-20200424.zevtc
Binary files differ
diff --git a/tests/logs/largos-20200426.zevtc b/tests/logs/largos-20200426.zevtc
new file mode 100644
index 0000000..653cf4a
--- /dev/null
+++ b/tests/logs/largos-20200426.zevtc
Binary files differ
diff --git a/tests/logs/mama-20200427.zevtc b/tests/logs/mama-20200427.zevtc
new file mode 100644
index 0000000..d3aee43
--- /dev/null
+++ b/tests/logs/mama-20200427.zevtc
Binary files differ
diff --git a/tests/logs/matthias-20200421.zevtc b/tests/logs/matthias-20200421.zevtc
new file mode 100644
index 0000000..f958cae
--- /dev/null
+++ b/tests/logs/matthias-20200421.zevtc
Binary files differ
diff --git a/tests/logs/mo-20200426.zevtc b/tests/logs/mo-20200426.zevtc
new file mode 100644
index 0000000..9da5c87
--- /dev/null
+++ b/tests/logs/mo-20200426.zevtc
Binary files differ
diff --git a/tests/logs/old-cairn-20180321.evtc.zip b/tests/logs/old-cairn-20180321.evtc.zip
new file mode 100644
index 0000000..01eaac8
--- /dev/null
+++ b/tests/logs/old-cairn-20180321.evtc.zip
Binary files differ
diff --git a/tests/logs/qadim-20200427.zevtc b/tests/logs/qadim-20200427.zevtc
new file mode 100644
index 0000000..5ad581a
--- /dev/null
+++ b/tests/logs/qadim-20200427.zevtc
Binary files differ
diff --git a/tests/logs/qadimp-20200427.zevtc b/tests/logs/qadimp-20200427.zevtc
new file mode 100644
index 0000000..220d963
--- /dev/null
+++ b/tests/logs/qadimp-20200427.zevtc
Binary files differ
diff --git a/tests/logs/sabetha-20200421.zevtc b/tests/logs/sabetha-20200421.zevtc
new file mode 100644
index 0000000..d09ffcc
--- /dev/null
+++ b/tests/logs/sabetha-20200421.zevtc
Binary files differ
diff --git a/tests/logs/sabir-20200427.zevtc b/tests/logs/sabir-20200427.zevtc
new file mode 100644
index 0000000..75dea0c
--- /dev/null
+++ b/tests/logs/sabir-20200427.zevtc
Binary files differ
diff --git a/tests/logs/samarog-20200426.zevtc b/tests/logs/samarog-20200426.zevtc
new file mode 100644
index 0000000..c0e13db
--- /dev/null
+++ b/tests/logs/samarog-20200426.zevtc
Binary files differ
diff --git a/tests/logs/siax-20200427.zevtc b/tests/logs/siax-20200427.zevtc
new file mode 100644
index 0000000..7028776
--- /dev/null
+++ b/tests/logs/siax-20200427.zevtc
Binary files differ
diff --git a/tests/logs/skorvald-20200427.zevtc b/tests/logs/skorvald-20200427.zevtc
new file mode 100644
index 0000000..6ba1b4f
--- /dev/null
+++ b/tests/logs/skorvald-20200427.zevtc
Binary files differ
diff --git a/tests/logs/slothasor-20200420.zevtc b/tests/logs/slothasor-20200420.zevtc
new file mode 100644
index 0000000..6f6b448
--- /dev/null
+++ b/tests/logs/slothasor-20200420.zevtc
Binary files differ
diff --git a/tests/logs/vg-20200421.zevtc b/tests/logs/vg-20200421.zevtc
new file mode 100644
index 0000000..91041ae
--- /dev/null
+++ b/tests/logs/vg-20200421.zevtc
Binary files differ
diff --git a/tests/logs/whisper-20200424.zevtc b/tests/logs/whisper-20200424.zevtc
new file mode 100644
index 0000000..a565204
--- /dev/null
+++ b/tests/logs/whisper-20200424.zevtc
Binary files differ
diff --git a/tests/logs/xera-20200415.zevtc b/tests/logs/xera-20200415.zevtc
new file mode 100644
index 0000000..64db378
--- /dev/null
+++ b/tests/logs/xera-20200415.zevtc
Binary files differ
diff --git a/tests/parsing.rs b/tests/parsing.rs
new file mode 100644
index 0000000..58e890a
--- /dev/null
+++ b/tests/parsing.rs
@@ -0,0 +1,583 @@
+//! Tests that test parsing a complete log file and comparing some basic information.
+
+use std::fs::File;
+use std::io::BufReader;
+
+use evtclib::{Boss, EliteSpec::*, Profession::*};
+
+macro_rules! test {
+ (name: $name:ident, log: $log:literal, boss: $boss:expr, players: $players:expr,) => {
+ #[test]
+ fn $name() {
+ let mut file = BufReader::new(File::open(format!("tests/{}", $log)).unwrap());
+ let log = evtclib::raw::parse_zip(&mut file).expect("parsing zip failed");
+ let log = evtclib::process(&log).expect("processing log failed");
+ assert_eq!(log.encounter(), Some($boss));
+
+ let players = $players;
+
+ assert_eq!(log.players().count(), players.len());
+ for (subgroup, account_name, character_name, profession, elite_spec) in players {
+ let player = log
+ .players()
+ .find(|p| &p.player().account_name() == account_name)
+ .expect(&format!("did not find player {}", account_name))
+ .player();
+ assert_eq!(player.subgroup(), *subgroup);
+ assert_eq!(player.character_name(), *character_name);
+ assert_eq!(player.profession(), *profession);
+ assert_eq!(player.elite(), *elite_spec);
+ }
+ }
+ };
+}
+
+// Wing 1 tests
+
+test! {
+ name: parse_vale_guardian,
+ log: "logs/vg-20200421.zevtc",
+ boss: Boss::ValeGuardian,
+ players: &[
+ (4, ":AliceWindwalker.6238", "Fafnarin Sunseeker", Warrior, Some(Berserker)),
+ (4, ":Gellalli.6580", "Germi N", Revenant, Some(Renegade)),
+ (4, ":HqrKATzPOLSKI.7896", "Haqush", Guardian, Some(Dragonhunter)),
+ (4, ":Sora.8732", "Riríchíyo", Guardian, Some(Firebrand)),
+ (4, ":justice.8392", "Ipman D", Guardian, Some(Dragonhunter)),
+ (5, ":Diabound.5473", "Yaru Lanayru", Thief, Some(Deadeye)),
+ (5, ":Dunje.4863", "Emma Hydes", Elementalist, Some(Weaver)),
+ (5, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (5, ":neko.9741", "Mordrem Cat", Ranger, Some(Druid)),
+ (5, ":xyoz.6710", "Xaphwen", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+test! {
+ name: parse_gorseval,
+ log: "logs/gorseval-20200421.zevtc",
+ boss: Boss::Gorseval,
+ players: &[
+ (4, ":AliceWindwalker.6238", "Fafnarin Sunseeker", Warrior, Some(Berserker)),
+ (4, ":Gellalli.6580", "Germi N", Revenant, Some(Renegade)),
+ (4, ":HqrKATzPOLSKI.7896", "Haqush", Guardian, Some(Dragonhunter)),
+ (4, ":Sora.8732", "Riríchíyo", Guardian, Some(Firebrand)),
+ (4, ":justice.8392", "Ipman D", Guardian, Some(Dragonhunter)),
+ (5, ":Diabound.5473", "Yaru Lanayru", Thief, Some(Deadeye)),
+ (5, ":Dunje.4863", "Emma Hydes", Elementalist, Some(Weaver)),
+ (5, ":Straimer.1093", "I Want Smite Back", Guardian, Some(Dragonhunter)),
+ (5, ":neko.9741", "Mordrem Cat", Ranger, Some(Druid)),
+ (5, ":xyoz.6710", "Xaphwen", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+test! {
+ name: parse_sabetha,
+ log: "logs/sabetha-20200421.zevtc",
+ boss: Boss::Sabetha,
+ players: &[
+ (4, ":AliceWindwalker.6238", "Fafnarin Sunseeker", Warrior, Some(Berserker)),
+ (4, ":Gellalli.6580", "Germi N", Revenant, Some(Renegade)),
+ (4, ":HqrKATzPOLSKI.7896", "Haqush", Guardian, Some(Firebrand)),
+ (4, ":Sora.8732", "Riríchíyo", Guardian, Some(Firebrand)),
+ (4, ":justice.8392", "Ipman D", Guardian, Some(Dragonhunter)),
+ (5, ":Diabound.5473", "Yaru Lanayru", Thief, Some(Deadeye)),
+ (5, ":Dunje.4863", "Thank You Exorcist", Necromancer, Some(Reaper)),
+ (5, ":Straimer.1093", "Feel My Epidemic", Necromancer, Some(Reaper)),
+ (5, ":neko.9741", "Mordrem Cat", Ranger, Some(Druid)),
+ (5, ":xyoz.6710", "Xaphwen", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+// Wing 2 tests
+
+test! {
+ name: parse_slothasor,
+ log: "logs/slothasor-20200420.zevtc",
+ boss: Boss::Slothasor,
+ players: &[
+ (2, ":Basafrass.4138", "Miss Mary J", Guardian, Some(Dragonhunter)),
+ (2, ":Gellalli.6580", "Gellalli V", Guardian, Some(Dragonhunter)),
+ (2, ":Straimer.1093", "I Want Smite Back", Guardian, Some(Dragonhunter)),
+ (2, ":safarissPL.2476", "Archangel Of Fury", Guardian, Some(Firebrand)),
+ (2, ":surbiff.4912", "Nellie Mellie", Elementalist, Some(Tempest)),
+ (3, ":Archmage.3405", "Archmage The Sage", Elementalist, Some(Weaver)),
+ (3, ":Dunje.4863", "Pallida Howhite", Warrior, None),
+ (3, ":MooRecords.8096", "Mc Me", Mesmer, Some(Chronomancer)),
+ (3, ":neko.9741", "Mordrem Cat", Ranger, Some(Druid)),
+ (3, ":xyoz.6710", "Takathy", Revenant, Some(Renegade)),
+ ],
+}
+
+test! {
+ name: parse_matthias,
+ log: "logs/matthias-20200421.zevtc",
+ boss: Boss::Matthias,
+ players: &[
+ (2, ":Basafrass.4138", "Miss Mary J", Guardian, Some(Dragonhunter)),
+ (2, ":Gellalli.6580", "Germi N", Revenant, Some(Renegade)),
+ (2, ":Straimer.1093", "Deepfreeze Myself", Elementalist, Some(Tempest)),
+ (2, ":safarissPL.2476", "Archangel Of Fury", Guardian, Some(Firebrand)),
+ (2, ":surbiff.4912", "The Biff", Guardian, Some(Firebrand)),
+ (3, ":Archmage.3405", "Archmage The Sage", Elementalist, Some(Weaver)),
+ (3, ":Dunje.4863", "Zraraelia Vey", Necromancer, Some(Scourge)),
+ (3, ":Speeaaakmaan.8974", "Gravîty Well", Mesmer, Some(Mirage)),
+ (3, ":neko.9741", "Mordrem Cat", Ranger, Some(Druid)),
+ (3, ":xyoz.6710", "Xaphwen", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+// Wing 3 tests
+
+test! {
+ name: parse_keep_construct,
+ log: "logs/kc-20200426.zevtc",
+ boss: Boss::KeepConstruct,
+ players: &[
+ (3, ":Bomaga.2106", "Krupniczek", Guardian, Some(Dragonhunter)),
+ (3, ":Buddy Christ.1758", "Block Buddy", Guardian, Some(Dragonhunter)),
+ (3, ":LucieMillerx.8650", "Ànemóne", Ranger, Some(Soulbeast)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (3, ":neko.9741", "Star Guardian Neko", Guardian, Some(Firebrand)),
+ (4, ":DavDav.4765", "Séraphie Mangor", Guardian, Some(Dragonhunter)),
+ (4, ":Dunje.4863", "Godric Gobbledygook", Mesmer, Some(Chronomancer)),
+ (4, ":Gellalli.6580", "Germi X", Ranger, Some(Druid)),
+ (4, ":Odila.7842", "Nas Tia", Necromancer, Some(Reaper)),
+ (4, ":Shanadodoo.6983", "Blila Blumenkind", Warrior, Some(Berserker)),
+ ],
+}
+
+test! {
+ name: parse_xera,
+ log: "logs/xera-20200415.zevtc",
+ boss: Boss::Xera,
+ players: &[
+ (2, ":Marcoliveira.7526", "Flamed Horns", Guardian, Some(Dragonhunter)),
+ (2, ":Marvin.4612", "Necro Rp", Necromancer, Some(Reaper)),
+ (2, ":Speeaaakmaan.8974", "I Carry Kits", Engineer, Some(Holosmith)),
+ (2, ":neko.9741", "Star Guardian Neko", Guardian, Some(Firebrand)),
+ (2, ":nowere.4583", "Feijoca Slayer", Revenant, Some(Renegade)),
+ (3, ":Dunje.4863", "Pallida Howhite", Warrior, Some(Berserker)),
+ (3, ":Fiamma.3746", "Charrdiano", Guardian, Some(Dragonhunter)),
+ (3, ":Gellalli.6580", "Germi X", Ranger, Some(Druid)),
+ (3, ":Straimer.1093", "Deepfreeze Myself", Elementalist, Some(Weaver)),
+ (3, ":xyoz.6710", "Xaphwen", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+// Wing 4 tests
+
+test! {
+ name: parse_cairn,
+ log: "logs/cairn-20200426.zevtc",
+ boss: Boss::Cairn,
+ players: &[
+ (3, ":Bomaga.2106", "Krupniczek", Guardian, Some(Dragonhunter)),
+ (3, ":Buddy Christ.1758", "Block Buddy", Guardian, Some(Firebrand)),
+ (3, ":Dunje.4863", "Padme Amidada", Guardian, Some(Firebrand)),
+ (3, ":LucieMillerx.8650", "Ànemóne", Ranger, Some(Soulbeast)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (4, ":Gellalli.6580", "Germi X", Ranger, Some(Druid)),
+ (4, ":Odila.7842", "Nas Tia", Necromancer, Some(Reaper)),
+ (4, ":Redi.8461", "X Ratiopharm X", Guardian, Some(Dragonhunter)),
+ (4, ":Shanadodoo.6983", "Blila Blumenkind", Warrior, Some(Berserker)),
+ (4, ":neko.9741", "General Nekobi", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+test! {
+ name: parse_mursaat_overseer,
+ log: "logs/mo-20200426.zevtc",
+ boss: Boss::MursaatOverseer,
+ players: &[
+ (3, ":Bomaga.2106", "Krupniczek", Guardian, Some(Dragonhunter)),
+ (3, ":Buddy Christ.1758", "Block Buddy", Guardian, Some(Dragonhunter)),
+ (3, ":Dunje.4863", "Padme Amidada", Guardian, Some(Firebrand)),
+ (3, ":LucieMillerx.8650", "Ànemóne", Ranger, Some(Soulbeast)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (4, ":Gellalli.6580", "Germi X", Ranger, Some(Druid)),
+ (4, ":Morality Vi.4512", "Mowality", Necromancer, Some(Scourge)),
+ (4, ":Odila.7842", "Nas Tia", Necromancer, Some(Reaper)),
+ (4, ":Shanadodoo.6983", "Blila Blumenkind", Warrior, Some(Berserker)),
+ (4, ":neko.9741", "General Nekobi", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+test! {
+ name: parse_samarog,
+ log: "logs/samarog-20200426.zevtc",
+ boss: Boss::Samarog,
+ players: &[
+ (3, ":Bomaga.2106", "Krupniczek", Guardian, Some(Dragonhunter)),
+ (3, ":Buddy Christ.1758", "Block Buddy", Guardian, Some(Dragonhunter)),
+ (3, ":Dunje.4863", "Padme Amidada", Guardian, Some(Firebrand)),
+ (3, ":LucieMillerx.8650", "Ànemóne", Ranger, Some(Soulbeast)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (4, ":Gellalli.6580", "Germi X", Ranger, Some(Druid)),
+ (4, ":Morality Vi.4512", "Bat San", Guardian, Some(Dragonhunter)),
+ (4, ":Odila.7842", "Nas Tia", Necromancer, Some(Reaper)),
+ (4, ":Shanadodoo.6983", "Blila Blumenkind", Warrior, Some(Berserker)),
+ (4, ":neko.9741", "General Nekobi", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+test! {
+ name: parse_deimos,
+ log: "logs/deimos-20200428.zevtc",
+ boss: Boss::Deimos,
+ players: &[
+ (2, ":CrusaderCody.6935", "Cody Quickfire", Guardian, Some(Firebrand)),
+ (2, ":Mrperfect.5213", "Hanna Kowalski", Revenant, Some(Renegade)),
+ (2, ":Oliber.5142", "Shoe Of Life", Guardian, Some(Dragonhunter)),
+ (2, ":Skapti Bardakson.1750", "Halfdan Coldwalker", Warrior, Some(Berserker)),
+ (3, ":DevilsAngel.5734", "Devilsangels", Warrior, Some(Berserker)),
+ (3, ":KINGLEO.1862", "Scrubslayerr", Warrior, Some(Berserker)),
+ (3, ":Natallya.9845", "Althellya", Mesmer, Some(Chronomancer)),
+ (3, ":XaSeRLP.1832", "Anina Landru", Ranger, Some(Druid)),
+ (3, ":chinchiyo.6794", "Charles Penguin", Thief, Some(Daredevil)),
+ (4, ":Dunje.4863", "Maho Shiina", Revenant, Some(Herald)),
+ ],
+}
+
+// Wing 5 tests
+
+test! {
+ name: parse_desmina,
+ log: "logs/desmina-20200425.zevtc",
+ boss: Boss::SoullessHorror,
+ players: &[
+ (3, ":AliceWindwalker.6238", "Fafnarin Sunseeker", Warrior, Some(Berserker)),
+ (3, ":Dunje.4863", "Godric Gobbledygook", Mesmer, Some(Chronomancer)),
+ (3, ":Gellalli.6580", "Germi X", Ranger, Some(Druid)),
+ (3, ":Jonny.5860", "Razihel Toursad", Revenant, Some(Renegade)),
+ (3, ":Straimer.1093", "Feel My Epidemic", Necromancer, Some(Scourge)),
+ (4, ":BakedSnail.7063", "Wibbly Also Wobbly", Mesmer, Some(Mirage)),
+ (4, ":ShionSan.1637", "Nilvalen Feel", Mesmer, Some(Mirage)),
+ (4, ":Tanylyla.6397", "Tany Phalanx", Warrior, Some(Berserker)),
+ (4, ":neko.9741", "Syberia Nótt", Elementalist, Some(Tempest)),
+ (4, ":xyoz.6710", "Xaphwen", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+test! {
+ name: parse_dhuum,
+ log: "logs/dhuum-20200428.zevtc",
+ boss: Boss::Dhuum,
+ players: &[
+ (1, ":DaZzius.4753", "Amestye Aëther", Mesmer, Some(Chronomancer)),
+ (1, ":Dunje.4863", "Maho Shiina", Revenant, Some(Renegade)),
+ (1, ":LuthienTinuviel.1082", "Aurevyrn", Guardian, Some(Firebrand)),
+ (1, ":RedEaGle.2097", "Alyccya", Ranger, Some(Druid)),
+ (1, ":neko.9741", "General Nekobi", Mesmer, Some(Chronomancer)),
+ (2, ":Gildraen.5432", "Eären Than", Mesmer, Some(Mirage)),
+ (2, ":Kylangel.8409", "Shénmi", Mesmer, Some(Chronomancer)),
+ (2, ":NotIlly.7684", "Illy Warbringer", Warrior, Some(Berserker)),
+ (2, ":Raelag Arkhen.6347", "Rælag Arkhen", Revenant, Some(Renegade)),
+ (2, ":hiemen.2584", "Hiémen", Revenant, Some(Renegade)),
+ ],
+}
+
+// Wing 6 tests
+
+test! {
+ name: parse_conjured_amalgamate,
+ log: "logs/ca-20200426.zevtc",
+ boss: Boss::ConjuredAmalgamate,
+ players: &[
+ (3, ":Admiral Aka Inu.4962", "Großadmiral Aka Inu", Warrior, Some(Berserker)),
+ (3, ":Dunje.4863", "Irodo", Elementalist, Some(Weaver)),
+ (3, ":Lopoeo.1594", "Glücklich Und Satt", Mesmer, Some(Chronomancer)),
+ (3, ":Straimer.1093", "Feel My Epidemic", Necromancer, Some(Reaper)),
+ (3, ":neko.9741", "Mordrem Cat", Ranger, Some(Druid)),
+ (4, ":Cyen Lazarus.4170", "Krom Bearmaster", Guardian, Some(Dragonhunter)),
+ (4, ":Faedoiel.8576", "Faedoiel", Mesmer, Some(Chronomancer)),
+ (4, ":chinchiyo.6794", "Charles Penguin", Thief, Some(Daredevil)),
+ (4, ":predatorkilla.2391", "Predatorrkilla", Guardian, Some(Dragonhunter)),
+ (4, ":sokeenoppa.5384", "Sincis", Thief, Some(Daredevil)),
+ ],
+}
+
+test! {
+ name: parse_largos_twins,
+ log: "logs/largos-20200426.zevtc",
+ boss: Boss::LargosTwins,
+ players: &[
+ (3, ":Cyen Lazarus.4170", "Cyen Blackarrow", Ranger, Some(Druid)),
+ (3, ":Dunje.4863", "Godric Gobbledygook", Mesmer, Some(Mirage)),
+ (3, ":Lopoeo.1594", "Glücklich Und Satt", Mesmer, Some(Chronomancer)),
+ (3, ":Spirit Of Kingdom.4731", "Gungunil", Warrior, Some(Berserker)),
+ (3, ":Straimer.1093", "The Meta Is A Líe", Mesmer, Some(Mirage)),
+ (4, ":Faedoiel.8576", "Faedoiel", Mesmer, Some(Chronomancer)),
+ (4, ":chinchiyo.6794", "Faedlewynn", Revenant, Some(Renegade)),
+ (4, ":neko.9741", "Neko Shadowdancer", Mesmer, Some(Mirage)),
+ (4, ":predatorkilla.2391", "Illusionzkilla", Mesmer, Some(Mirage)),
+ (4, ":sokeenoppa.5384", "O Kng", Elementalist, Some(Tempest)),
+ ],
+}
+
+test! {
+ name: parse_qadim,
+ log: "logs/qadim-20200427.zevtc",
+ boss: Boss::Qadim,
+ players: &[
+ (3, ":Cyen Lazarus.4170", "Cyen Blackarrow", Ranger, Some(Druid)),
+ (3, ":Lopoeo.1594", "Glücklich Und Satt", Mesmer, Some(Chronomancer)),
+ (3, ":Straimer.1093", "Feel My Epidemic", Necromancer, Some(Reaper)),
+ (3, ":WONBO.3265", "Wonbo", Warrior, Some(Berserker)),
+ (3, ":neko.9741", "General Nekobi", Mesmer, Some(Chronomancer)),
+ (4, ":Dunje.4863", "Clepta Sophia", Thief, Some(Deadeye)),
+ (4, ":chinchiyo.6794", "Charles Penguin", Thief, Some(Daredevil)),
+ (4, ":predatorkilla.2391", "Predatorrkilla", Guardian, Some(Dragonhunter)),
+ (4, ":sokeenoppa.5384", "I Will Carry Fit", Necromancer, Some(Scourge)),
+ (4, ":xXCOOLXx.2176", "Rakirah Boonmancer", Mesmer, Some(Chronomancer)),
+ ],
+}
+
+// Wing 7 tests
+
+test! {
+ name: parse_adina,
+ log: "logs/adina-20200427.zevtc",
+ boss: Boss::CardinalAdina,
+ players: &[
+ (3, ":Arkady.3768", "Just Pakly", Engineer, Some(Holosmith)),
+ (3, ":Dunje.4863", "Peter Party", Ranger, Some(Soulbeast)),
+ (3, ":Vooriden.3927", "Ashbüry", Ranger, Some(Druid)),
+ (3, ":WONBO.3265", "Jaínece Crâiser", Mesmer, Some(Chronomancer)),
+ (3, ":xyoz.6710", "Xaphy", Engineer, Some(Holosmith)),
+ (5, ":AliceWindwalker.6238", "Fafnarin Sunseeker", Warrior, Some(Berserker)),
+ (5, ":Gellalli.6580", "Germi N", Revenant, Some(Renegade)),
+ (5, ":Straimer.1093", "I Want Smite Back", Guardian, Some(Dragonhunter)),
+ (5, ":TruePacman.8703", "Little Pac", Guardian, Some(Dragonhunter)),
+ (5, ":neko.9741", "Star Guardian Neko", Guardian, Some(Firebrand)),
+ ],
+}
+
+test! {
+ name: parse_sabir,
+ log: "logs/sabir-20200427.zevtc",
+ boss: Boss::CardinalSabir,
+ players: &[
+ (3, ":Arkady.3768", "Just Pakly", Engineer, Some(Holosmith)),
+ (3, ":Dunje.4863", "Emma Hydes", Elementalist, Some(Weaver)),
+ (3, ":Vooriden.3927", "Ashbüry", Ranger, Some(Druid)),
+ (3, ":WONBO.3265", "Jaínece Crâiser", Mesmer, Some(Chronomancer)),
+ (3, ":xyoz.6710", "Xaphwen", Mesmer, Some(Chronomancer)),
+ (5, ":AliceWindwalker.6238", "Fafnarin Sunseeker", Warrior, Some(Berserker)),
+ (5, ":Gellalli.6580", "Germi N", Revenant, Some(Renegade)),
+ (5, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (5, ":TruePacman.8703", "Tolin Halfhand", Revenant, Some(Renegade)),
+ (5, ":neko.9741", "Star Guardian Neko", Guardian, Some(Firebrand)),
+ ],
+}
+
+test! {
+ name: parse_qadim_the_peerless,
+ log: "logs/qadimp-20200427.zevtc",
+ boss: Boss::QadimThePeerless,
+ players: &[
+ (3, ":AliceWindwalker.6238", "Fafnarin Sunseeker", Warrior, Some(Berserker)),
+ (3, ":Arkady.3768", "Just Pakly", Engineer, Some(Holosmith)),
+ (3, ":Vooriden.3927", "Ashbüry", Ranger, Some(Druid)),
+ (3, ":WONBO.3265", "Jaínece Crâiser", Mesmer, Some(Chronomancer)),
+ (3, ":xyoz.6710", "Xaphwen", Mesmer, Some(Chronomancer)),
+ (5, ":Dunje.4863", "Clepta Sophia", Thief, Some(Deadeye)),
+ (5, ":Gellalli.6580", "Germi N", Revenant, Some(Renegade)),
+ (5, ":Straimer.1093", "Feel My Epidemic", Necromancer, Some(Scourge)),
+ (5, ":TruePacman.8703", "Smayser", Necromancer, Some(Scourge)),
+ (5, ":neko.9741", "Star Guardian Neko", Guardian, Some(Firebrand)),
+ ],
+}
+
+// 100 CM tests
+
+test! {
+ name: parse_skorvald,
+ log: "logs/skorvald-20200427.zevtc",
+ boss: Boss::Skorvald,
+ players: &[
+ (0, ":Dunje.4863", "Jane Whiskerlisp", Revenant, Some(Renegade)),
+ (0, ":Gellalli.6580", "Germi X", Ranger, Some(Soulbeast)),
+ (0, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (0, ":Straimer.1093", "Deepfreeze Myself", Elementalist, Some(Weaver)),
+ (0, ":neko.9741", "Took Fgs For Banner", Warrior, Some(Berserker)),
+ ],
+}
+
+test! {
+ name: parse_artsariiv,
+ log: "logs/artsariiv-20200427.zevtc",
+ boss: Boss::Artsariiv,
+ players: &[
+ (0, ":Dunje.4863", "Jane Whiskerlisp", Revenant, Some(Renegade)),
+ (0, ":Gellalli.6580", "Germi X", Ranger, Some(Soulbeast)),
+ (0, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (0, ":Straimer.1093", "Deepfreeze Myself", Elementalist, Some(Weaver)),
+ (0, ":neko.9741", "Took Fgs For Banner", Warrior, Some(Berserker)),
+ ],
+}
+
+test! {
+ name: parse_arkk,
+ log: "logs/arkk-20200427.zevtc",
+ boss: Boss::Arkk,
+ players: &[
+ (0, ":Dunje.4863", "Jane Whiskerlisp", Revenant, Some(Renegade)),
+ (0, ":Gellalli.6580", "Germi X", Ranger, Some(Soulbeast)),
+ (0, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (0, ":Straimer.1093", "Deepfreeze Myself", Elementalist, Some(Weaver)),
+ (0, ":neko.9741", "Took Fgs For Banner", Warrior, Some(Berserker)),
+ ],
+}
+
+// 99 CM tests
+
+test! {
+ name: parse_mama,
+ log: "logs/mama-20200427.zevtc",
+ boss: Boss::MAMA,
+ players: &[
+ (0, ":Dunje.4863", "Jane Whiskerlisp", Revenant, Some(Renegade)),
+ (0, ":Gellalli.6580", "Germi X", Ranger, Some(Soulbeast)),
+ (0, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (0, ":Straimer.1093", "Deepfreeze Myself", Elementalist, Some(Weaver)),
+ (0, ":neko.9741", "Took Fgs For Banner", Warrior, Some(Berserker)),
+ ],
+}
+
+test! {
+ name: parse_siax,
+ log: "logs/siax-20200427.zevtc",
+ boss: Boss::Siax,
+ players: &[
+ (0, ":Dunje.4863", "Jane Whiskerlisp", Revenant, Some(Renegade)),
+ (0, ":Gellalli.6580", "Germi X", Ranger, Some(Soulbeast)),
+ (0, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (0, ":Straimer.1093", "Deepfreeze Myself", Elementalist, Some(Weaver)),
+ (0, ":neko.9741", "Took Fgs For Banner", Warrior, Some(Berserker)),
+ ],
+}
+
+test! {
+ name: parse_ensolyss,
+ log: "logs/ensolyss-20200427.zevtc",
+ boss: Boss::Ensolyss,
+ players: &[
+ (0, ":Dunje.4863", "Jane Whiskerlisp", Revenant, Some(Renegade)),
+ (0, ":Gellalli.6580", "Germi X", Ranger, Some(Soulbeast)),
+ (0, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (0, ":Straimer.1093", "Deepfreeze Myself", Elementalist, Some(Weaver)),
+ (0, ":neko.9741", "Took Fgs For Banner", Warrior, Some(Berserker)),
+ ],
+}
+
+// Strike mission tests
+
+test! {
+ name: parse_icebrood,
+ log: "logs/icebrood-20200424.zevtc",
+ boss: Boss::IcebroodConstruct,
+ players: &[
+ (3, ":Dunje.4863", "Thank You Exorcist", Necromancer, Some(Reaper)),
+ (3, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (3, ":Vario.4875", "Baelgar Skyfire", Elementalist, Some(Tempest)),
+ (3, ":xChriS.5213", "I Am Raponz", Revenant, Some(Renegade)),
+ (4, ":Blaz.8675", "Guesthelper", Ranger, Some(Druid)),
+ (4, ":Friedensschreck.2573", "Lucy Brent", Mesmer, Some(Chronomancer)),
+ (4, ":Gellalli.6580", "Germi J", Necromancer, Some(Reaper)),
+ (4, ":Nydena.4371", "Lanori", Warrior, Some(Berserker)),
+ (4, ":Xion.5790", "Underwater Nab", Engineer, Some(Holosmith)),
+ ],
+}
+
+test! {
+ name: parse_kodan_brothers,
+ log: "logs/kodans-20200424.zevtc",
+ boss: Boss::VoiceOfTheFallen,
+ players: &[
+ (3, ":Gellalli.6580", "Germi J", Necromancer, Some(Scourge)),
+ (3, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (3, ":Vario.4875", "Baelgar Skyfire", Elementalist, Some(Tempest)),
+ (3, ":xChriS.5213", "I Am Raponz", Revenant, Some(Renegade)),
+ (4, ":Blaz.8675", "Guesthelper", Ranger, Some(Druid)),
+ (4, ":Dunje.4863", "Thank You Exorcist", Necromancer, Some(Reaper)),
+ (4, ":Friedensschreck.2573", "Lucy Brent", Mesmer, Some(Chronomancer)),
+ (4, ":Nydena.4371", "Lanori", Warrior, Some(Berserker)),
+ (4, ":Ouren.7530", "Pip The Dragon", Guardian, Some(Firebrand)),
+ ],
+}
+
+test! {
+ name: parse_fraenir_of_jormag,
+ log: "logs/fraenir-20200424.zevtc",
+ boss: Boss::FraenirOfJormag,
+ players: &[
+ (3, ":Dunje.4863", "Thank You Exorcist", Necromancer, Some(Reaper)),
+ (3, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (3, ":Vario.4875", "Baelgar Skyfire", Elementalist, Some(Tempest)),
+ (3, ":xChriS.5213", "I Am Raponz", Revenant, Some(Renegade)),
+ (4, ":Blaz.8675", "Guesthelper", Ranger, Some(Druid)),
+ (4, ":Friedensschreck.2573", "Lucy Brent", Mesmer, Some(Chronomancer)),
+ (4, ":Gellalli.6580", "Germi J", Necromancer, Some(Scourge)),
+ (4, ":Nydena.4371", "Lanori", Warrior, Some(Berserker)),
+ (4, ":Xion.5790", "Underwater Nab", Engineer, Some(Holosmith)),
+ ],
+}
+
+test! {
+ name: parse_boneskinner,
+ log: "logs/boneskinner-20200424.zevtc",
+ boss: Boss::Boneskinner,
+ players: &[
+ (3, ":Gellalli.6580", "Germi J", Necromancer, Some(Scourge)),
+ (3, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (3, ":Vario.4875", "Baelgar Skyfire", Elementalist, Some(Tempest)),
+ (3, ":xChriS.5213", "I Am Raponz", Revenant, Some(Renegade)),
+ (4, ":Blaz.8675", "Guesthelper", Ranger, Some(Druid)),
+ (4, ":Dunje.4863", "Thank You Exorcist", Necromancer, Some(Reaper)),
+ (4, ":Friedensschreck.2573", "Lucy Brent", Mesmer, Some(Chronomancer)),
+ (4, ":Nydena.4371", "Lanori", Warrior, Some(Berserker)),
+ (4, ":Ouren.7530", "Pip The Dragon", Guardian, Some(Firebrand)),
+ ],
+}
+
+test! {
+ name: parse_whisper_of_jormag,
+ log: "logs/whisper-20200424.zevtc",
+ boss: Boss::WhisperOfJormag,
+ players: &[
+ (3, ":Gellalli.6580", "Germi J", Necromancer, Some(Scourge)),
+ (3, ":Speeaaakmaan.8974", "Damage Modifiers", Guardian, Some(Firebrand)),
+ (3, ":Straimer.1093", "Revenge On The Meta", Revenant, Some(Renegade)),
+ (3, ":Vario.4875", "Baelgar Skyfire", Elementalist, Some(Tempest)),
+ (3, ":xChriS.5213", "I Am Raponz", Revenant, Some(Renegade)),
+ (4, ":Blaz.8675", "Guesthelper", Ranger, Some(Druid)),
+ (4, ":Dunje.4863", "Thank You Exorcist", Necromancer, Some(Reaper)),
+ (4, ":Friedensschreck.2573", "Lucy Brent", Mesmer, Some(Chronomancer)),
+ (4, ":Nydena.4371", "Lanori", Warrior, Some(Berserker)),
+ (4, ":Ouren.7530", "Pip The Dragon", Guardian, Some(Firebrand)),
+ ],
+}
+
+// Various tests
+
+test! {
+ name: parse_old_cairn_log,
+ log: "logs/old-cairn-20180321.evtc.zip",
+ boss: Boss::Cairn,
+ players: &[
+ (1, ":Medejz.1679", "Nuerha", Guardian, Some(Firebrand)),
+ (1, ":ONEVA.5860", "Berserkoala", Revenant, Some(Renegade)),
+ (1, ":Speeaaakmaan.8974", "I Block Eggs", Mesmer, Some(Chronomancer)),
+ (1, ":Villhelma.6829", "Viseria", Ranger, Some(Druid)),
+ (1, ":gaga.3014", "Hankahn", Warrior, Some(Berserker)),
+ (2, ":Arcanis.4602", "Ivy Deathcloud", Necromancer, Some(Scourge)),
+ (2, ":Dunje.4863", "Zraraelia Vey", Necromancer, Some(Scourge)),
+ (2, ":Gellalli.6580", "Germi X", Ranger, Some(Druid)),
+ (2, ":Gizmo.1635", "Oleg Deathbringer", Necromancer, Some(Scourge)),
+ (2, ":flumbum.4068", "Xynaliba", Mesmer, Some(Chronomancer)),
+ ],
+}