From 7a631f428ce38112157d1c16eaaa2df248c1d46d Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Tue, 28 Apr 2020 14:51:42 +0200 Subject: 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. --- tests/logs/adina-20200427.zevtc | Bin 0 -> 1432560 bytes tests/logs/arkk-20200427.zevtc | Bin 0 -> 322331 bytes tests/logs/artsariiv-20200427.zevtc | Bin 0 -> 326906 bytes tests/logs/boneskinner-20200424.zevtc | Bin 0 -> 1382021 bytes tests/logs/ca-20200426.zevtc | Bin 0 -> 1139636 bytes tests/logs/cairn-20200426.zevtc | Bin 0 -> 1197876 bytes tests/logs/deimos-20200428.zevtc | Bin 0 -> 1914481 bytes tests/logs/desmina-20200425.zevtc | Bin 0 -> 2192274 bytes tests/logs/dhuum-20200428.zevtc | Bin 0 -> 3022512 bytes tests/logs/ensolyss-20200427.zevtc | Bin 0 -> 407476 bytes tests/logs/fraenir-20200424.zevtc | Bin 0 -> 832493 bytes tests/logs/gorseval-20200421.zevtc | Bin 0 -> 1344712 bytes tests/logs/icebrood-20200424.zevtc | Bin 0 -> 480367 bytes tests/logs/kc-20200426.zevtc | Bin 0 -> 2166890 bytes tests/logs/kodans-20200424.zevtc | Bin 0 -> 691773 bytes tests/logs/largos-20200426.zevtc | Bin 0 -> 3404518 bytes tests/logs/mama-20200427.zevtc | Bin 0 -> 247017 bytes tests/logs/matthias-20200421.zevtc | Bin 0 -> 2838580 bytes tests/logs/mo-20200426.zevtc | Bin 0 -> 1442764 bytes tests/logs/old-cairn-20180321.evtc.zip | Bin 0 -> 663450 bytes tests/logs/qadim-20200427.zevtc | Bin 0 -> 3660529 bytes tests/logs/qadimp-20200427.zevtc | Bin 0 -> 2555784 bytes tests/logs/sabetha-20200421.zevtc | Bin 0 -> 2088267 bytes tests/logs/sabir-20200427.zevtc | Bin 0 -> 2572049 bytes tests/logs/samarog-20200426.zevtc | Bin 0 -> 2429302 bytes tests/logs/siax-20200427.zevtc | Bin 0 -> 194711 bytes tests/logs/skorvald-20200427.zevtc | Bin 0 -> 283123 bytes tests/logs/slothasor-20200420.zevtc | Bin 0 -> 1700279 bytes tests/logs/vg-20200421.zevtc | Bin 0 -> 1302987 bytes tests/logs/whisper-20200424.zevtc | Bin 0 -> 1160746 bytes tests/logs/xera-20200415.zevtc | Bin 0 -> 1580720 bytes tests/parsing.rs | 583 +++++++++++++++++++++++++++++++++ 32 files changed, 583 insertions(+) create mode 100644 tests/logs/adina-20200427.zevtc create mode 100644 tests/logs/arkk-20200427.zevtc create mode 100644 tests/logs/artsariiv-20200427.zevtc create mode 100644 tests/logs/boneskinner-20200424.zevtc create mode 100644 tests/logs/ca-20200426.zevtc create mode 100644 tests/logs/cairn-20200426.zevtc create mode 100644 tests/logs/deimos-20200428.zevtc create mode 100644 tests/logs/desmina-20200425.zevtc create mode 100644 tests/logs/dhuum-20200428.zevtc create mode 100644 tests/logs/ensolyss-20200427.zevtc create mode 100644 tests/logs/fraenir-20200424.zevtc create mode 100644 tests/logs/gorseval-20200421.zevtc create mode 100644 tests/logs/icebrood-20200424.zevtc create mode 100644 tests/logs/kc-20200426.zevtc create mode 100644 tests/logs/kodans-20200424.zevtc create mode 100644 tests/logs/largos-20200426.zevtc create mode 100644 tests/logs/mama-20200427.zevtc create mode 100644 tests/logs/matthias-20200421.zevtc create mode 100644 tests/logs/mo-20200426.zevtc create mode 100644 tests/logs/old-cairn-20180321.evtc.zip create mode 100644 tests/logs/qadim-20200427.zevtc create mode 100644 tests/logs/qadimp-20200427.zevtc create mode 100644 tests/logs/sabetha-20200421.zevtc create mode 100644 tests/logs/sabir-20200427.zevtc create mode 100644 tests/logs/samarog-20200426.zevtc create mode 100644 tests/logs/siax-20200427.zevtc create mode 100644 tests/logs/skorvald-20200427.zevtc create mode 100644 tests/logs/slothasor-20200420.zevtc create mode 100644 tests/logs/vg-20200421.zevtc create mode 100644 tests/logs/whisper-20200424.zevtc create mode 100644 tests/logs/xera-20200415.zevtc create mode 100644 tests/parsing.rs diff --git a/tests/logs/adina-20200427.zevtc b/tests/logs/adina-20200427.zevtc new file mode 100644 index 0000000..845fb10 Binary files /dev/null and b/tests/logs/adina-20200427.zevtc differ diff --git a/tests/logs/arkk-20200427.zevtc b/tests/logs/arkk-20200427.zevtc new file mode 100644 index 0000000..57f728c Binary files /dev/null and b/tests/logs/arkk-20200427.zevtc differ diff --git a/tests/logs/artsariiv-20200427.zevtc b/tests/logs/artsariiv-20200427.zevtc new file mode 100644 index 0000000..9825747 Binary files /dev/null and b/tests/logs/artsariiv-20200427.zevtc differ diff --git a/tests/logs/boneskinner-20200424.zevtc b/tests/logs/boneskinner-20200424.zevtc new file mode 100644 index 0000000..f287014 Binary files /dev/null and b/tests/logs/boneskinner-20200424.zevtc differ diff --git a/tests/logs/ca-20200426.zevtc b/tests/logs/ca-20200426.zevtc new file mode 100644 index 0000000..16c38b0 Binary files /dev/null and b/tests/logs/ca-20200426.zevtc differ diff --git a/tests/logs/cairn-20200426.zevtc b/tests/logs/cairn-20200426.zevtc new file mode 100644 index 0000000..e1ae225 Binary files /dev/null and b/tests/logs/cairn-20200426.zevtc differ diff --git a/tests/logs/deimos-20200428.zevtc b/tests/logs/deimos-20200428.zevtc new file mode 100644 index 0000000..3c65fb7 Binary files /dev/null and b/tests/logs/deimos-20200428.zevtc differ diff --git a/tests/logs/desmina-20200425.zevtc b/tests/logs/desmina-20200425.zevtc new file mode 100644 index 0000000..cc9be17 Binary files /dev/null and b/tests/logs/desmina-20200425.zevtc differ diff --git a/tests/logs/dhuum-20200428.zevtc b/tests/logs/dhuum-20200428.zevtc new file mode 100644 index 0000000..e5a06a1 Binary files /dev/null and b/tests/logs/dhuum-20200428.zevtc differ diff --git a/tests/logs/ensolyss-20200427.zevtc b/tests/logs/ensolyss-20200427.zevtc new file mode 100644 index 0000000..a210505 Binary files /dev/null and b/tests/logs/ensolyss-20200427.zevtc differ diff --git a/tests/logs/fraenir-20200424.zevtc b/tests/logs/fraenir-20200424.zevtc new file mode 100644 index 0000000..5771573 Binary files /dev/null and b/tests/logs/fraenir-20200424.zevtc differ diff --git a/tests/logs/gorseval-20200421.zevtc b/tests/logs/gorseval-20200421.zevtc new file mode 100644 index 0000000..8427add Binary files /dev/null and b/tests/logs/gorseval-20200421.zevtc differ diff --git a/tests/logs/icebrood-20200424.zevtc b/tests/logs/icebrood-20200424.zevtc new file mode 100644 index 0000000..f67d5bc Binary files /dev/null and b/tests/logs/icebrood-20200424.zevtc differ diff --git a/tests/logs/kc-20200426.zevtc b/tests/logs/kc-20200426.zevtc new file mode 100644 index 0000000..a92cb15 Binary files /dev/null and b/tests/logs/kc-20200426.zevtc differ diff --git a/tests/logs/kodans-20200424.zevtc b/tests/logs/kodans-20200424.zevtc new file mode 100644 index 0000000..d366ecb Binary files /dev/null and b/tests/logs/kodans-20200424.zevtc differ diff --git a/tests/logs/largos-20200426.zevtc b/tests/logs/largos-20200426.zevtc new file mode 100644 index 0000000..653cf4a Binary files /dev/null and b/tests/logs/largos-20200426.zevtc differ diff --git a/tests/logs/mama-20200427.zevtc b/tests/logs/mama-20200427.zevtc new file mode 100644 index 0000000..d3aee43 Binary files /dev/null and b/tests/logs/mama-20200427.zevtc differ diff --git a/tests/logs/matthias-20200421.zevtc b/tests/logs/matthias-20200421.zevtc new file mode 100644 index 0000000..f958cae Binary files /dev/null and b/tests/logs/matthias-20200421.zevtc differ diff --git a/tests/logs/mo-20200426.zevtc b/tests/logs/mo-20200426.zevtc new file mode 100644 index 0000000..9da5c87 Binary files /dev/null and b/tests/logs/mo-20200426.zevtc 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 Binary files /dev/null and b/tests/logs/old-cairn-20180321.evtc.zip differ diff --git a/tests/logs/qadim-20200427.zevtc b/tests/logs/qadim-20200427.zevtc new file mode 100644 index 0000000..5ad581a Binary files /dev/null and b/tests/logs/qadim-20200427.zevtc differ diff --git a/tests/logs/qadimp-20200427.zevtc b/tests/logs/qadimp-20200427.zevtc new file mode 100644 index 0000000..220d963 Binary files /dev/null and b/tests/logs/qadimp-20200427.zevtc differ diff --git a/tests/logs/sabetha-20200421.zevtc b/tests/logs/sabetha-20200421.zevtc new file mode 100644 index 0000000..d09ffcc Binary files /dev/null and b/tests/logs/sabetha-20200421.zevtc differ diff --git a/tests/logs/sabir-20200427.zevtc b/tests/logs/sabir-20200427.zevtc new file mode 100644 index 0000000..75dea0c Binary files /dev/null and b/tests/logs/sabir-20200427.zevtc differ diff --git a/tests/logs/samarog-20200426.zevtc b/tests/logs/samarog-20200426.zevtc new file mode 100644 index 0000000..c0e13db Binary files /dev/null and b/tests/logs/samarog-20200426.zevtc differ diff --git a/tests/logs/siax-20200427.zevtc b/tests/logs/siax-20200427.zevtc new file mode 100644 index 0000000..7028776 Binary files /dev/null and b/tests/logs/siax-20200427.zevtc differ diff --git a/tests/logs/skorvald-20200427.zevtc b/tests/logs/skorvald-20200427.zevtc new file mode 100644 index 0000000..6ba1b4f Binary files /dev/null and b/tests/logs/skorvald-20200427.zevtc differ diff --git a/tests/logs/slothasor-20200420.zevtc b/tests/logs/slothasor-20200420.zevtc new file mode 100644 index 0000000..6f6b448 Binary files /dev/null and b/tests/logs/slothasor-20200420.zevtc differ diff --git a/tests/logs/vg-20200421.zevtc b/tests/logs/vg-20200421.zevtc new file mode 100644 index 0000000..91041ae Binary files /dev/null and b/tests/logs/vg-20200421.zevtc differ diff --git a/tests/logs/whisper-20200424.zevtc b/tests/logs/whisper-20200424.zevtc new file mode 100644 index 0000000..a565204 Binary files /dev/null and b/tests/logs/whisper-20200424.zevtc differ diff --git a/tests/logs/xera-20200415.zevtc b/tests/logs/xera-20200415.zevtc new file mode 100644 index 0000000..64db378 Binary files /dev/null and b/tests/logs/xera-20200415.zevtc 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)), + ], +} -- cgit v1.2.3