-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
completed acronym exercise and resistor exercise
- Loading branch information
0 parents
commit 5ca0e9a
Showing
8 changed files
with
189 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"track":"ruby","exercise":"acronym","id":"e234b81dd16b4b3a871de1f0157d0958","url":"https://exercism.io/my/solutions/e234b81dd16b4b3a871de1f0157d0958","handle":"pawgrmr","is_requester":true,"auto_approve":false} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# Acronym | ||
|
||
Convert a phrase to its acronym. | ||
|
||
Techies love their TLA (Three Letter Acronyms)! | ||
|
||
Help generate some jargon by writing a program that converts a long name | ||
like Portable Network Graphics to its acronym (PNG). | ||
|
||
* * * * | ||
|
||
For installation and learning resources, refer to the | ||
[Ruby resources page](http://exercism.io/languages/ruby/resources). | ||
|
||
For running the tests provided, you will need the Minitest gem. Open a | ||
terminal window and run the following command to install minitest: | ||
|
||
gem install minitest | ||
|
||
If you would like color output, you can `require 'minitest/pride'` in | ||
the test file, or note the alternative instruction, below, for running | ||
the test file. | ||
|
||
Run the tests from the exercise directory using the following command: | ||
|
||
ruby acronym_test.rb | ||
|
||
To include color from the command line: | ||
|
||
ruby -r minitest/pride acronym_test.rb | ||
|
||
|
||
## Source | ||
|
||
Julien Vanier [https://github.com/monkbroc](https://github.com/monkbroc) | ||
|
||
## Submitting Incomplete Solutions | ||
It's possible to submit an incomplete solution so you can see how others have completed the exercise. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
class Acronym | ||
|
||
def self.abbreviate(args) | ||
#loop through the string | ||
#convert string to array of arrays | ||
#print out the first letter of each array | ||
#join array of first letters into a single string | ||
args.scan(/\b\w/).join.upcase | ||
end | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
require 'minitest/autorun' | ||
require_relative 'acronym' | ||
|
||
# Common test data version: 1.5.0 787d24e | ||
class AcronymTest < Minitest::Test | ||
def test_basic | ||
# skip | ||
assert_equal "PNG", Acronym.abbreviate('Portable Network Graphics') | ||
end | ||
|
||
def test_lowercase_words | ||
# skip | ||
assert_equal "ROR", Acronym.abbreviate('Ruby on Rails') | ||
end | ||
|
||
def test_punctuation | ||
#skip | ||
assert_equal "FIFO", Acronym.abbreviate('First In, First Out') | ||
end | ||
|
||
def test_all_caps_word | ||
#skip | ||
assert_equal "GIMP", Acronym.abbreviate('GNU Image Manipulation Program') | ||
end | ||
|
||
def test_punctuation_without_whitespace | ||
#skip | ||
assert_equal "CMOS", Acronym.abbreviate('Complementary metal-oxide semiconductor') | ||
end | ||
|
||
def test_very_long_abbreviation | ||
#skip | ||
assert_equal "ROTFLSHTMDCOALM", Acronym.abbreviate('Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me') | ||
end | ||
|
||
def test_consecutive_delimiters | ||
#skip | ||
assert_equal "SIMUFTA", Acronym.abbreviate('Something - I made up from thin air') | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"track":"ruby","exercise":"resistor-color-duo","id":"2d2efe85bbbe4d558154b35514c76089","url":"https://exercism.io/my/solutions/2d2efe85bbbe4d558154b35514c76089","handle":"pawgrmr","is_requester":true,"auto_approve":false} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Resistor Color Duo | ||
|
||
If you want to build something using a Raspberry Pi, you'll probably use _resistors_. For this exercise, you need to know two things about them: | ||
|
||
* Each resistor has a resistance value. | ||
* Resistors are small - so small in fact that if you printed the resistance value on them, it would be hard to read. | ||
To get around this problem, manufacturers print color-coded bands onto the resistors to denote their resistance values. Each band has a position and a numeric value. For example, if they printed a brown band (value 1) followed by a green band (value 5), it would translate to the number 15. | ||
|
||
In this exercise you are going to create a helpful program so that you don't have to remember the values of the bands. The program will take color names as input and output a two digit number, even if the input is more than two colors! | ||
|
||
The colors are mapped to the numbers from 0 to 9 in the sequence: | ||
Black - Brown - Red - Orange - Yellow - Green - Blue - Violet - Grey - White | ||
|
||
From the example above: | ||
brown-green should return 15 | ||
brown-green-violet should return 15 too, ignoring the third color. | ||
|
||
|
||
* * * * | ||
|
||
For installation and learning resources, refer to the | ||
[Ruby resources page](http://exercism.io/languages/ruby/resources). | ||
|
||
For running the tests provided, you will need the Minitest gem. Open a | ||
terminal window and run the following command to install minitest: | ||
|
||
gem install minitest | ||
|
||
If you would like color output, you can `require 'minitest/pride'` in | ||
the test file, or note the alternative instruction, below, for running | ||
the test file. | ||
|
||
Run the tests from the exercise directory using the following command: | ||
|
||
ruby resistor_color_duo_test.rb | ||
|
||
To include color from the command line: | ||
|
||
ruby -r minitest/pride resistor_color_duo_test.rb | ||
|
||
|
||
## Source | ||
|
||
Maud de Vries, Erik Schierboom [https://github.com/exercism/problem-specifications/issues/1464](https://github.com/exercism/problem-specifications/issues/1464) | ||
|
||
## Submitting Incomplete Solutions | ||
It's possible to submit an incomplete solution so you can see how others have completed the exercise. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
class ResistorColorDuo | ||
|
||
WIRES = [ | ||
'black', | ||
'brown', | ||
'red', | ||
'orange', | ||
'yellow', | ||
'green', | ||
'blue', | ||
'violet', | ||
'grey', | ||
'white' | ||
] | ||
|
||
def self.value(args) | ||
result = args.map{|arg| WIRES.index(arg)} | ||
p result.take(2).join.to_i | ||
end | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
require 'minitest/autorun' | ||
require_relative 'resistor_color_duo' | ||
|
||
# Common test data version: 2.1.0 00dda3a | ||
class ResistorColorDuoTest < Minitest::Test | ||
def test_brown_and_black | ||
# skip | ||
assert_equal 10, ResistorColorDuo.value(["brown", "black"]) | ||
end | ||
|
||
def test_blue_and_grey | ||
#skip | ||
assert_equal 68, ResistorColorDuo.value(["blue", "grey"]) | ||
end | ||
|
||
def test_yellow_and_violet | ||
#skip | ||
assert_equal 47, ResistorColorDuo.value(["yellow", "violet"]) | ||
end | ||
|
||
def test_orange_and_orange | ||
#skip | ||
assert_equal 33, ResistorColorDuo.value(["orange", "orange"]) | ||
end | ||
|
||
def test_ignore_additional_colors | ||
#skip | ||
assert_equal 51, ResistorColorDuo.value(["green", "brown", "orange"]) | ||
end | ||
end |