Move History

Fork Selected
  • Code
    class Box
        attr_accessor :box, :lines, :cols
        def initialize cols, lines
            @lines = lines
            @cols = cols
            @box = []
            for line in 0...@lines do
                row = []
                for col in 0...@cols do
                    isEdge = col == 0 || line == 0 || col == @cols - 1 || line == @lines - 1
                    row << 'x' if isEdge
                    row << ' ' unless isEdge
                end
                @box << row
            end
        end
    
        def printBox
            for line in 0...@lines do
                str = ''
                for col in 0...@cols do
                    str << @box[line][col]
                end
                puts str
            end
        end
    
        def placeText text, x, y
          textLength = text.length - 1 + x
          letters = text.split ""
          for col in x..textLength do
            @box[y][col] = letters[col-x]
          end
        end
    end
    
    box = Box.new 30, 30
    box.placeText "Hello World", 10, 10
    box.printBox
    
    Test Cases
    # TODO: Replace examples and use TDD development by writing your own tests
    # These are some of the methods available:
    #   Test.expect(boolean, [optional] message)
    #   Test.assert_equals(actual, expected, [optional] message)
    #   Test.assert_not_equals(actual, expected, [optional] message)
    
    describe "Solution" do
      it "should test for something" do
        actual = 0
        Test.assert_equals(actual, 0, "This is just an example of how you can write your own TDD tests")
      end
    end