Sha256: 1304eafc2e462cc65b8c79f19ec03dac245a750af30e8298fd3744bc2633e9b6

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

require 'spec_helper'

describe Belajar::ReferenceSolution do

  it { is_expected.to respond_to :code }
  it { is_expected.to respond_to :path }
  it { is_expected.to respond_to :code_lines }

  let(:unit_path) do
    course_name = course_dir_names.first
    unit_dirs(course_name)[0].first
  end

  subject { Belajar::ReferenceSolution.new(unit_path) }

  it "has the prescribed path" do
    path = File.join(unit_path, reference_solution_name)
    expect(subject.path).to eq path
  end

  describe "#code" do
    it "has the prescribed code" do
      expect(subject.code).to eq solution_content
    end

    it "returns an empty string if the code is not available" do
      subject.instance_variable_set(:@code, nil)
      expect(subject.code).to eq ""
    end
  end


  describe "#code_lines" do
    it "returns the code split into lines" do
      lines = ['muffin = "sweet"', 'hamburger = "mjummy"']
      allow(subject).to receive(:code) { lines.join("\n") }

      expect(subject.code_lines).to eq lines
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
belajar-0.1.1 spec/belajar/reference_solution_spec.rb