Class: Mumukit::Server::TestPipeline

Inherits:
Object
  • Object
show all
Defined in:
lib/mumukit/server/test_pipeline.rb

Instance Method Summary collapse

Constructor Details

#initialize(server, request) ⇒ TestPipeline

Returns a new instance of TestPipeline.



2
3
4
5
# File 'lib/mumukit/server/test_pipeline.rb', line 2

def initialize(server, request)
  @server = server
  @request = request
end

Instance Method Details

#evaluate!Object



7
8
9
10
11
12
# File 'lib/mumukit/server/test_pipeline.rb', line 7

def evaluate!
  @test_results = @server.run_tests! @request
  @expectation_results = @server.run_expectations!(@request).try do |raw|
    static_errors?(raw) ? [] : raw
  end
end

#generate_feedback!Object



14
15
16
17
# File 'lib/mumukit/server/test_pipeline.rb', line 14

def generate_feedback!
  @feedback = @server.run_feedback! @request,
                                   struct(test_results: @test_results, expectation_results: @expectation_results)
end

#responseObject



19
20
21
22
23
24
25
# File 'lib/mumukit/server/test_pipeline.rb', line 19

def response
  builder = Mumukit::Server::ResponseBuilder.new
  builder.add_test_results @test_results
  builder.add_expectation_results @expectation_results
  builder.add_feedback @feedback
  builder.build
end

#static_errors?(raw) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/mumukit/server/test_pipeline.rb', line 27

def static_errors?(raw)
  raw.size == 2 && raw[1] == :errored
end