Skip to content

Instantly share code, notes, and snippets.

@toddsiegel
Last active December 20, 2015 17:09
Show Gist options
  • Save toddsiegel/6166367 to your computer and use it in GitHub Desktop.
Save toddsiegel/6166367 to your computer and use it in GitHub Desktop.
[~/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