Sha256: 6b7e9ffbc0c76dbfdddd222cfb3fc492a5fc312e258919b01c7c95dca1f9160f

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

require 'spec_helper'

describe Problem do
  before(:each) do
    @problem = Problem.new
    @features = [ Node.features(0.2,0.3,0.4,0.4),
                  Node.features(0.1,0.5,0.1,0.9),
                  Node.features(0.2,0.2,0.6,0.5),
                  Node.features(0.3,0.1,0.5,0.9) ]
  end

  it "examples get stored and retrieved" do
    @problem.set_examples([1,2,1,2], @features)
    labels, examples =  @problem.examples
    labels.size.should == 4
    examples.size.should == 4
    examples.map {|x|x.size}.should == [4,4,4,4]
    examples.first.map {|node| node.index}.should == [0,1,2,3]
    examples.first.map {|node| node.value}.should == [0.2,0.3,0.4,0.4]
  end

  it "can be populated" do
    examples = [Node.features(0.2,0.3,0.4,0.4),
                Node.features(0.1,0.5,0.1,0.9),
                Node.features(0.2,0.2,0.6,0.5),
                Node.features(0.3,0.1,0.5,0.9)]
    ->{@problem.set_examples([1,2,1,2], examples)}.should_not raise_error
  end

  it "can be set twice over" do
    features = [Node.features(0.2, 0.3, 0.4, 0.4), Node.features(0.3,0.1,0.5,0.9)]
    @problem.set_examples([1,2], features)
    features = [Node.features(0.2, 0.3, 0.4, 0.4), Node.features(0.3,0.1,0.5,0.9)]
    ->{@problem.set_examples([8,2], features)}.should_not raise_error
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jrb-libsvm-0.1.2-java spec/problem_spec.rb