- Stwórz metodę do sprawdzenia ile razy dany element (słowo, liczba) powtarza się w tabeli.
- Zwracamy hash z elementem oraz ilość powtórzeń.
Przykładowe wywołanie:
CountElements.new([0,4,2,1,0,2,5]).perform
=> { 0 => 2, 4 => 1, 2 => 2, 1 => 1, 5 => 1 }
- Dla podanego hasła (stringa) zwracamy true/false, w zależności od tego, czy spełnione są następujące reguły:
- Długość od 6 do 24 znaków
- Co najmniej jedna wielka litera (A-Z)
- Co najmniej jedna mała litera (a-z)
- Co najmniej jedna cyfra (0-9)
- Co najmniej jeden znak specjalny (! @ # $ % & * + = : ; ? < >)
- Maksymalnie 2 powtarzające się symbole w ciągu : 'ww' -> dobrze, 'www' -> źle
Przykładowe wywołania
ValidatePassword.new("Password1!").perform
=> true
ValidatePassword.new("password1!").perform
=> false
gem install bundler
bundle
bundle exec rspec
Zadanie jest wykonane poprawnie, jeśli testy przejdą bez błędów, jak poniżej:
ValidatePassword
args: 'Password1!'
should eq true
args: 'password1!
should eq false
args: 'Exaaample1!'
should eq false
args: 'fail'
should eq false
args: 'Password1!Password1!Password1!'
should eq false
CountElements
first dataset
should eq { 'infakt' => 1, 'ror' => 2, 'ruby' => 3 }
second dataset
should eq { 0 => 2, 1 => 1, 2 => 2, 4 => 1, 5 => 1 }
third dataset
should eq { 1 => 2, 'car' => 1, 'house' => 3, 3 => 1, 6 => 3 }
fourth dataset
should eq { " " => 2, "," => 2, "." => 3, "/" => 3}
Finished in 0.00243 seconds (files took 0.04795 seconds to load)
9 examples, 0 failures