<commit_before>package lessons.lesson5;

import code.academy.Pokemon;
import code.academy.PokemonType;

import java.util.ArrayList;
import java.util.List;

public enum PokemonTypeLesson5 {
//    CHARMANDER("Charmander", 18, 5, true),
//    SQUIRTLE("Squirtle", 22, 4, true),
//    BULBASAUR("Bulbasaur", 15, 7, true),
//    PIDGEY("Pidgey", 30, 12, false),
//    CATERPIE("Caterpie", 50, 30, false),
//    MAGIKARP("Magikarp", 27, 8, false),
//    DITTO("Ditto", 25, 10, false),
//    SNORLAX("Snorlax", 15, 5, false);
    ; // Get rid of this semi-colon when you uncomment the above

    private String name;
    private Integer healthPoints;
    private Integer combatPower;
    private Boolean starterPokemon;

    PokemonTypeLesson5(String name, Integer healthPoints, Integer combatPower, Boolean starterPokemon) {
        this.name = name;
        this.healthPoints = healthPoints;
        this.combatPower = combatPower;
        this.starterPokemon = starterPokemon;
    }

    public String getName() {
        return name;
    }

    public Integer getHealthPoints() {
        return healthPoints;
    }

    public Integer getCombatPower() {
        return combatPower;
    }

    public Boolean getStarterPokemon() {
        return starterPokemon;
    }

    /**
     * Prints out information about the Pokemon in a nice way
     */
    public String toString() {
        throw new IllegalStateException("Not implemented toString yet!");
    }

    /**
     * Return the list of PokemonType that only contains starter pokemon.
     */
    public static List<PokemonTypeLesson5> getStarterPokemonTypes() {
        List<PokemonTypeLesson5> pokemonTypes = new ArrayList<>();
        for (PokemonTypeLesson5 type : PokemonTypeLesson5.values()) {
            if (type.getStarterPokemon()) {
                pokemonTypes.add(type);
            }
        }
        return pokemonTypes;
    }

    /**
     * Return the list of PokemonType that only contains wild pokemon.
     */
    public static List<PokemonTypeLesson5> getWildPokemonTypes() {
        List<PokemonTypeLesson5> pokemonTypes = new ArrayList<>();
        for (PokemonTypeLesson5 type : PokemonTypeLesson5.values()) {
            if (!type.getStarterPokemon()) {
                pokemonTypes.add(type);<commit_msg>@noissue lesson 5 catchup tidyup<commit_after>package lessons.lesson5;

import code.academy.Pokemon;
import code.academy.PokemonType;

import java.util.ArrayList;
import java.util.List;

public enum PokemonTypeLesson5 {
    CHARMANDER("Charmander", 18, 5, true),
    SQUIRTLE("Squirtle", 22, 4, true),
    BULBASAUR("Bulbasaur", 15, 7, true),
    PIDGEY("Pidgey", 30, 12, false),
    CATERPIE("Caterpie", 50, 30, false),
    MAGIKARP("Magikarp", 27, 8, false),
    DITTO("Ditto", 25, 10, false),
    SNORLAX("Snorlax", 15, 5, false);

    private String name;
    private Integer healthPoints;
    private Integer combatPower;
    private Boolean starterPokemon;

    PokemonTypeLesson5(String name, Integer healthPoints, Integer combatPower, Boolean starterPokemon) {
        this.name = name;
        this.healthPoints = healthPoints;
        this.combatPower = combatPower;
        this.starterPokemon = starterPokemon;
    }

    public String getName() {
        return name;
    }

    public Integer getHealthPoints() {
        return healthPoints;
    }

    public Integer getCombatPower() {
        return combatPower;
    }

    public Boolean getStarterPokemon() {
        return starterPokemon;
    }

    /**
     * Prints out information about the Pokemon in a nice way
     */
    public String toString() {
        return "Type: " + name + " (HP: " + healthPoints + ")"
                + " (CP: " + combatPower + ")";
    }

    /**
     * Return the list of PokemonType that only contains starter pokemon.
     */
    public static List<PokemonTypeLesson5> getStarterPokemonTypes() {
        List<PokemonTypeLesson5> pokemonTypes = new ArrayList<>();
        for (PokemonTypeLesson5 type : PokemonTypeLesson5.values()) {
            if (type.getStarterPokemon()) {
                pokemonTypes.add(type);
            }
        }
        return pokemonTypes;
    }

    /**
     * Return the list of PokemonType that only contains wild pokemon.
     */
    public static List<PokemonTypeLesson5> getWildPokemonTypes() {
        List<PokemonTypeLesson5> pokemonTypes = new ArrayList<>();
        for (PokemonTypeLesson5 type : PokemonTypeLesson5.values()) {
            if (!type.getStarterPokemon()) {
                pokemonTypes.add(type);
{'fraction_non_alphanumeric': 0.10570358951772738, 'fraction_numerical': 0.016956617485135432, 'mean_word_length': 2.695687550854353, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5043726', 'n_tokens_mistral': 1492, 'n_tokens_neox': 1380, 'n_words': 342}