I have been digging into DebugDatabase and it's got some interesting functions, some of which aren't exposed.What I meant to say is that there are known failures. For example, for modifiers that only apply in a particular zone. Or effects that give random stat adjustments.
Presumably the solution would be to code the DebugDatabase functions to Do the RIght Thing for those. Somehow.
I'm looking making a DebugDatabaseTest.java file in Test/.../persistence and have it call all the methods on debugDatabase. Some update are easy (switch http:// to https://), but they may be masking other issues.
My checkPulverizationData test is failing because checkPulverizationData() fails. The anvil data it fetches from the internet has named html entities in the xml and the built-in xml parser rejects them (so does my browser; it's illegal behavior, but it's what the data is. There's a stackoverflow thead here on resolving it, but it might require JSoup, STaX, or converting the reading method to a stream and pre-processing for entity conversion. I'm open to suggestions or experience on best ways to handle that, especially if there's already an implementation elsewhere in the code that already does this.
As I work through the methods, I'll add them to this document. I'm trying to get the simple ones done first.
name | state | notes |
---|---|---|
checkItems() | ||
itemDescriptionText() | ||
cafeItemDescriptionText() | ||
rawItemDescriptionText() | ||
testRawItemDescriptionText() | ||
testItemDescriptionText() | ||
parseItemId() | ||
parseName() | passes | check both matches and non-matches |
parsePrice() | ||
parseAccess() | ||
parseType() | ||
typeToPrimary() | ||
typeToSecondary() | ||
parseLevel() | ||
parseSize() | ||
parseConsumableSize() | ||
parsePower() | ||
parseWeaponType() | ||
parseReq() | ||
parseFullness() | ||
parseInebriety() | ||
parseToxicity() | ||
parseFamiliar() | ||
parseItemEnchantments() | ||
parseRestores() | ||
testParseItemEnchantments() | ||
testParseItemEnchantments1() | ||
checkOutfits() | ||
outfitDescriptionText() | ||
readOutfitDescriptionText() | ||
rawOutfitDescriptionText() | ||
testOutfitDescriptionText() | ||
parseOutfitEnchantments() | ||
testParseOutfitEnchantments() | ||
checkEffects() | ||
parseEffectId() | ||
parseImage() | ||
parseEffectDescid() | ||
effectDescriptionText() | ||
readEffectDescriptionText() | ||
parseEffectEnchantments() | ||
testParseEffectEnchantments() | ||
testParseEffectEnchantments1() | ||
checkSkills() | ||
parseSkillId() | ||
parseSkillType() | ||
parseSkillMPCost() | ||
parseSkillEffectName() | ||
parseSkillEffectId() | ||
parseSkillEffectDuration() | ||
skillDescriptionText() | ||
readSkillDescriptionText() | ||
parseSkillEnchantments() | ||
testParseSkillEnchantments() | ||
testParseSkillEnchantments1() | ||
checkPlurals() | ||
checkPowers() | ||
checkShields() | ||
testCheckShields() | ||
checkPotions() | ||
checkConsumables() | ||
parseQuality() | ||
checkFamiliarsInTerrarium() | ||
checkFamiliarImages() | ||
checkConsumptionData() | ||
checkPulverizationData() | failing | html entities in xml (see above) |
checkZapGroups() | in progress | |
checkManuel() | passes | just checks to see if there's a page for each letter of the alphabet |
checkMeat() | fails | thousands of errors |