Last active
December 20, 2015 17:09
-
-
Save toddsiegel/6166367 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
[~/Projects/exercism]$ ruby ruby/rna-transcription/rna-transcription_test.rb | |
Run options: --seed 51147 | |
# Running tests: | |
EEEEE | |
Finished tests in 0.001201s, 4163.1973 tests/s, 0.0000 assertions/s. | |
1) Error: | |
DNATest#test_it_transcribes_all_occurrences_of_thymidine_to_uracil: | |
NameError: uninitialized constant DNATest::DNA | |
ruby/rna-transcription/rna-transcription_test.rb:23:in `test_it_transcribes_all_occurrences_of_thymidine_to_uracil' | |
2) Error: | |
DNATest#test_it_transcribes_thymidine_to_uracil: | |
NameError: uninitialized constant DNATest::DNA | |
ruby/rna-transcription/rna-transcription_test.rb:19:in `test_it_transcribes_thymidine_to_uracil' | |
3) Error: | |
DNATest#test_transcribes_guanosine_unchanged: | |
NameError: uninitialized constant DNATest::DNA | |
ruby/rna-transcription/rna-transcription_test.rb:11:in `test_transcribes_guanosine_unchanged' | |
4) Error: | |
DNATest#test_transcribes_adenosine_unchanged: | |
NameError: uninitialized constant DNATest::DNA | |
ruby/rna-transcription/rna-transcription_test.rb:15:in `test_transcribes_adenosine_unchanged' | |
5) Error: | |
DNATest#test_transcribes_cytidine_unchanged: | |
NameError: uninitialized constant DNATest::DNA | |
ruby/rna-transcription/rna-transcription_test.rb:7:in `test_transcribes_cytidine_unchanged' | |
5 tests, 0 assertions, 0 failures, 5 errors, 0 skips | |
[~/Projects/exercism]$ cat ruby/rna-transcription/rna-transcription_test.rb | |
require 'minitest/autorun' | |
require_relative 'dna' | |
class DNATest < MiniTest::Unit::TestCase | |
def test_transcribes_cytidine_unchanged | |
assert_equal 'C', DNA.new("C").to_rna | |
end | |
def test_transcribes_guanosine_unchanged | |
assert_equal 'G', DNA.new("G").to_rna | |
end | |
def test_transcribes_adenosine_unchanged | |
assert_equal 'A', DNA.new("A").to_rna | |
end | |
def test_it_transcribes_thymidine_to_uracil | |
assert_equal 'U', DNA.new("T").to_rna | |
end | |
def test_it_transcribes_all_occurrences_of_thymidine_to_uracil | |
assert_equal 'ACGUGGUCUUAA', DNA.new('ACGTGGTCTTAA').to_rna | |
end | |
end | |
[~/Projects/exercism]$ cat ruby/rna-transcription/dna.rb | |
class Acid | |
def initialize(sequence) | |
@sequence = sequence | |
end | |
def to_str | |
@sequence | |
end | |
def ==(other) | |
if String === other | |
@sequence == other | |
else | |
super | |
end | |
end | |
end | |
class RibonucleicAcid < Acid | |
def self.from_dna_sequence(sequence) | |
new sequence.gsub('T', 'U') | |
end | |
end | |
class DeoxyribonucleicAcid < Acid | |
def to_rna(conversion_factory = RibonucleicAcid) | |
conversion_factory.from_dna_sequence(@sequence) | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment