From afd768089d2ebff9f7b9e0afe1cf3c259aa6d4f5 Mon Sep 17 00:00:00 2001 From: Hubert Kuczmierczyk Date: Fri, 16 Apr 2021 07:29:08 +0200 Subject: [PATCH] Add two generators to Faker::Science (#2175) * Change write style to new version * Add element state and subcategory to yaml file * Add classes and tests for selement state and subcategory * Update science.md file * Add plasma to element state in .yml file --- doc/default/science.md | 4 + lib/faker/default/science.rb | 26 ++ lib/locales/en/science.yml | 358 ++++++++++++++++++++++- test/faker/default/test_faker_science.rb | 8 + 4 files changed, 393 insertions(+), 3 deletions(-) diff --git a/doc/default/science.md b/doc/default/science.md index f8b44492bc..1c968d55ff 100644 --- a/doc/default/science.md +++ b/doc/default/science.md @@ -5,5 +5,9 @@ Faker::Science.element #=> "Carbon" Faker::Science.element_symbol #=> "Pb" +Faker::Science.element_state #=> "Liquid" + +Faker::Science.element_subcategory #=> "Reactive nonmetal" + Faker::Science.scientist #=> "Isaac Newton" ``` diff --git a/lib/faker/default/science.rb b/lib/faker/default/science.rb index 4385b488e6..165be4a48f 100644 --- a/lib/faker/default/science.rb +++ b/lib/faker/default/science.rb @@ -29,6 +29,32 @@ def element_symbol fetch('science.element_symbol') end + ## + # Produces the state of an element. + # + # @return [String] + # + # @example + # Faker::Science.element_state #=> "Liquid" + # + # @faker.version next + def element_state + fetch('science.element_state') + end + + ## + # Produces the subcategory of an element. + # + # @return [String] + # + # @example + # Faker::Science.element_subcategory #=> "Reactive nonmetal" + # + # @faker.version next + def element_subcategory + fetch('science.element_subcategory') + end + ## # Produces the name of a scientist. # diff --git a/lib/locales/en/science.yml b/lib/locales/en/science.yml index 64deab5c55..a8d418e6df 100644 --- a/lib/locales/en/science.yml +++ b/lib/locales/en/science.yml @@ -1,6 +1,358 @@ en: faker: science: - element: ["Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminum", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Cesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium", "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Nihonium", "Flerovium", "Moscovium", "Livermorium", "Tennessine", "Oganesson"] - element_symbol: [H, He, Li, Be, B, C, "N", O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, K, Ca, Sc, Ti, V, Cr, Mn, Fe, Co, Ni, Cu, Zn, Ga, Ge, As, Se, Br, Kr, Rb, Sr, "Y", Zr, Nb, Mo, Tc, Ru, Rh, Pd, Ag, Cd, In, Sn, Sb, Te, I, Xe, Cs, Ba, La, Ce, Pr, Nd, Pm, Sm, Eu, Gd, Tb, Dy, Ho, Er, Tm, Yb, Lu, Hf, Ta, W, Re, Os, Ir, Pt, Au, Hg, Tl, Pb, Bi, Po, At, Rn, Fr, Ra, Ac, Th, Pa, U, Np, Pu, Am, Cm, Bk, Cf, Es, Fm, Md, "No", Lr, Rf, Db, Sg, Bh, Hs, Mt, Ds, Rg, Cn, Nh, Fl, Mc, Lv, Ts, Og] - scientist: ["Isaac Newton", "Albert Einstein", "Neils Bohr", "Charles Darwin", "Louis Pasteur", "Sigmund Freud", "Galileo Galilei", "Antoine Laurent Lavoisier", "Johannes Kepler", "Nicolaus Copernicus", "Michael Faraday", "James Clerk Maxwell", "Claude Bernard", "Franz Boas", "Werner Heisenberg", "Linus Pauling", "Rudolf Virchow", "Erwin Schrodinger", "Ernest Rutherford", "Paul Dirac", "Andreas Vesalius", "Tycho Brahe", "Comte de Buffon", "Ludwig Boltzmann", "Max Planck", "Marie Curie", "William Herschel", "Charles Lyell", "Pierre Simon de Laplace", "Edwin Hubble", "Joseph J. Thomson", "Max Born", "Francis Crick", "Enrico Fermi", "Leonard Euler", "Justus Liebig", "Arthur Eddington", "William Harvey", "Marcello Malpighi", "Christiaan Huygens", "Carl Gauss (Karl Friedrich Gauss)", "Albrecht von Haller", "August Kekule", "Robert Koch", "Murray Gell-Mann", "Emil Fischer", "Dmitri Mendeleev", "Sheldon Glashow", "James Watson", "John Bardeen", "John von Neumann", "Richard Feynman", "Alfred Wegener", "Stephen Hawking", "Anton van Leeuwenhoek", "Max von Laue", "Gustav Kirchhoff", "Hans Bethe", "Euclid", "Gregor Mendel", "Heike Kamerlingh Onnes", "Thomas Hunt Morgan", "Hermann von Helmholtz", "Paul Ehrlich", "Ernst Mayr", "Charles Sherrington", "Theodosius Dobzhansky", "Max Delbruck", "Jean Baptiste Lamarck", "William Bayliss", "Noam Chomsky", "Frederick Sanger", "Lucretius", "John Dalton", "Louis Victor de Broglie", "Carl Linnaeus", "Jean Piaget", "George Gaylord Simpson", "Claude Levi-Strauss", "Lynn Margulis", "Karl Landsteiner", "Konrad Lorenz", "Edward O. Wilson", "Frederick Gowland Hopkins", "Gertrude Belle Elion", "Hans Selye", "J. Robert Oppenheimer", "Edward Teller", "Willard Libby", "Ernst Haeckel", "Jonas Salk", "Emil Kraepelin", "Trofim Lysenko", "Francis Galton", "Alfred Binet", "Alfred Kinsey", "Alexander Fleming", "B. F. Skinner", "Wilhelm Wundt", "Archimedes"] + element: + - Actinium + - Aluminum + - Americium + - Antimony + - Argon + - Arsenic + - Astatine + - Barium + - Berkelium + - Beryllium + - Bismuth + - Bohrium + - Boron + - Bromine + - Cadmium + - Calcium + - Californium + - Carbon + - Cerium + - Cesium + - Chlorine + - Chromium + - Cobalt + - Copernicium + - Copper + - Curium + - Darmstadtium + - Dubnium + - Dysprosium + - Einsteinium + - Erbium + - Europium + - Fermium + - Flerovium + - Fluorine + - Francium + - Gadolinium + - Gallium + - Germanium + - Gold + - Hafnium + - Hassium + - Helium + - Holmium + - Hydrogen + - Indium + - Iodine + - Iridium + - Iron + - Krypton + - Lanthanum + - Lawrencium + - Lead + - Lithium + - Livermorium + - Lutetium + - Magnesium + - Manganese + - Meitnerium + - Mendelevium + - Mercury + - Molybdenum + - Moscovium + - Neodymium + - Neon + - Neptunium + - Nickel + - Nihonium + - Niobium + - Nitrogen + - Nobelium + - Oganesson + - Osmium + - Oxygen + - Palladium + - Phosphorus + - Platinum + - Plutonium + - Polonium + - Potassium + - Praseodymium + - Promethium + - Protactinium + - Radium + - Radon + - Rhenium + - Rhodium + - Roentgenium + - Rubidium + - Ruthenium + - Rutherfordium + - Samarium + - Scandium + - Seaborgium + - Selenium + - Silicon + - Silver + - Sodium + - Strontium + - Sulfur + - Tantalum + - Technetium + - Tellurium + - Tennessine + - Terbium + - Thallium + - Thorium + - Thulium + - Tin + - Titanium + - Tungsten + - Uranium + - Vanadium + - Xenon + - Ytterbium + - Yttrium + - Zinc + - Zirconium + element_symbol: + - H + - He + - Li + - Be + - B + - C + - "N" + - O + - F + - Ne + - Na + - Mg + - Al + - Si + - P + - S + - Cl + - Ar + - K + - Ca + - Sc + - Ti + - V + - Cr + - Mn + - Fe + - Co + - Ni + - Cu + - Zn + - Ga + - Ge + - As + - Se + - Br + - Kr + - Rb + - Sr + - "Y" + - Zr + - Nb + - Mo + - Tc + - Ru + - Rh + - Pd + - Ag + - Cd + - In + - Sn + - Sb + - Te + - I + - Xe + - Cs + - Ba + - La + - Ce + - Pr + - Nd + - Pm + - Sm + - Eu + - Gd + - Tb + - Dy + - Ho + - Er + - Tm + - Yb + - Lu + - Hf + - Ta + - W + - Re + - Os + - Ir + - Pt + - Au + - Hg + - Tl + - Pb + - Bi + - Po + - At + - Rn + - Fr + - Ra + - Ac + - Th + - Pa + - U + - Np + - Pu + - Am + - Cm + - Bk + - Cf + - Es + - Fm + - Md + - "No" + - Lr + - Rf + - Db + - Sg + - Bh + - Hs + - Mt + - Ds + - Rg + - Cn + - Nh + - Fl + - Mc + - Lv + - Ts + - Og + element_state: + - Gas + - Liquid + - Plasma + - Solid + - Unknown + element_subcategory: + - Alkali metal + - Alkaline earth metal + - Lan­thanide Actinide + - Metalloid + - Noble gas + - Post-​transition metal + - Reactive nonmetal + - Transition metal + - Unknown chemical properties + scientist: + - Albert Einstein + - Albrecht von Haller + - Alexander Fleming + - Alfred Binet + - Alfred Kinsey + - Alfred Wegener + - Andreas Vesalius + - Antoine Laurent Lavoisier + - Anton van Leeuwenhoek + - Archimedes + - Arthur Eddington + - August Kekule + - B. F. Skinner + - Carl Gauss (Karl Friedrich Gauss) + - Carl Linnaeus + - Charles Darwin + - Charles Lyell + - Charles Sherrington + - Christiaan Huygens + - Claude Bernard + - Claude Levi-Strauss + - Comte de Buffon + - Dmitri Mendeleev + - Edward O. Wilson + - Edward Teller + - Edwin Hubble + - Emil Fischer + - Emil Kraepelin + - Enrico Fermi + - Ernest Rutherford + - Ernst Haeckel + - Ernst Mayr + - Erwin Schrodinger + - Euclid + - Francis Crick + - Francis Galton + - Franz Boas + - Frederick Gowland Hopkins + - Frederick Sanger + - Galileo Galilei + - George Gaylord Simpson + - Gertrude Belle Elion + - Gregor Mendel + - Gustav Kirchhoff + - Hans Bethe + - Hans Selye + - Heike Kamerlingh Onnes + - Hermann von Helmholtz + - Isaac Newton + - J. Robert Oppenheimer + - James Clerk Maxwell + - James Watson + - Jean Baptiste Lamarck + - Jean Piaget + - Johannes Kepler + - John Bardeen + - John Dalton + - John von Neumann + - Jonas Salk + - Joseph J. Thomson + - Justus Liebig + - Karl Landsteiner + - Konrad Lorenz + - Leonard Euler + - Linus Pauling + - Louis Pasteur + - Louis Victor de Broglie + - Lucretius + - Ludwig Boltzmann + - Lynn Margulis + - Marcello Malpighi + - Marie Curie + - Max Born + - Max Delbruck + - Max Planck + - Max von Laue + - Michael Faraday + - Murray Gell-Mann + - Neils Bohr + - Nicolaus Copernicus + - Noam Chomsky + - Paul Dirac + - Paul Ehrlich + - Pierre Simon de Laplace + - Richard Feynman + - Robert Koch + - Rudolf Virchow + - Sheldon Glashow + - Sigmund Freud + - Stephen Hawking + - Theodosius Dobzhansky + - Thomas Hunt Morgan + - Trofim Lysenko + - Tycho Brahe + - Werner Heisenberg + - Wilhelm Wundt + - Willard Libby + - William Bayliss + - William Harvey + - William Herschel diff --git a/test/faker/default/test_faker_science.rb b/test/faker/default/test_faker_science.rb index b18114d820..e9a0fed9db 100644 --- a/test/faker/default/test_faker_science.rb +++ b/test/faker/default/test_faker_science.rb @@ -15,6 +15,14 @@ def test_element_symbol assert @tester.element.match(/\w{1,2}/) end + def test_element_state + assert @tester.element_state.match(/\w+/) + end + + def test_element_subcategory + assert @tester.element_subcategory.match(/\w+/) + end + def test_scientist assert @tester.scientist.match(/\w+/) end