diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Understanding assertions/base_conversion/octal_converter.rb b/Understanding assertions/base_conversion/octal_converter.rb new file mode 100644 index 0000000..e7ca4fa --- /dev/null +++ b/Understanding assertions/base_conversion/octal_converter.rb @@ -0,0 +1,19 @@ +class OctalConverter + def initialize(number) + @number = number + end + + def convert + octal = [] + if @number < 8 + octal << @number + else + until @number.zero? + remainder = @number % 8 + @number = @number / 8 + octal.unshift(remainder) + end + end + octal + end +end \ No newline at end of file diff --git a/Understanding assertions/base_conversion/test_octal_converter.rb b/Understanding assertions/base_conversion/test_octal_converter.rb new file mode 100644 index 0000000..d1dc6b8 --- /dev/null +++ b/Understanding assertions/base_conversion/test_octal_converter.rb @@ -0,0 +1,10 @@ +require 'minitest/autorun' +require_relative 'octal_converter' + +describe OctalConverter do + it 'should return 137 for 95' do + converter = OctalConverter.new(137) + result = converter.convert + assert_equal [2, 1, 1], result + end +end \ No newline at end of file