diff options
Diffstat (limited to 'tests/parsing.rs')
-rw-r--r-- | tests/parsing.rs | 583 |
1 files changed, 583 insertions, 0 deletions
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)), + ], +} |