correlation_x_y 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b9cbf347b4349d85cfe1395bde3b5fae9a11d6e1cb4ad564be9839f74d081f1
4
- data.tar.gz: ef5d8798a215ad54b5487463fafcdf6035b2fb6049f0d955eb7a35899c19f949
3
+ metadata.gz: 9e7180db0d7d647556480b18a79351dad3f48b25407280588536241bc4e4f49c
4
+ data.tar.gz: 614c7b41558f87d9dd6a031d9a81b0f50460a911ca6c535908a76edfa5b29e3c
5
5
  SHA512:
6
- metadata.gz: 39abdb6a8b10b2631241eba464f3e2ad89125e832ed224315b14fbe3190bdedc74cc1cde8af57cca753b52b235d1dcb40d3764b70dbe6b694993a55d96b4b0cb
7
- data.tar.gz: de2e20e8c4e9f460fb8626d32f8b1113783524c658b6dc81b90dea4256405aa3f6468d124db7c3d53dc16af3774268175fa1b7234da104a6a60d03aea70ebdcd
6
+ metadata.gz: 3164dddff825aa28fa71c1fc70c420d3c9690137f492e24a0ff35b8067272c965ac9cd4e65a8fbdc036ef5a00a31d0941079934aa24e4ed488241c3f258d6ebd
7
+ data.tar.gz: 500b1b3e1defdc3e8da1b103352bdfd396804bcb4cbaa4e865a10a53ce69be0a1c7fe359acb706aabfdff463d2349b40ee19d785cbb7c5826a5de0338048bdff
@@ -6,17 +6,17 @@ require_relative 'equation'
6
6
 
7
7
  # class
8
8
  class Correlation
9
- attr_accessor :serie_a, :serie_b, :coefficient, :equation
9
+ attr_accessor :serie_a, :serie_b, :coefficient, :equation, :parameters
10
10
 
11
11
  def initialize(serie_a, serie_b)
12
12
  @serie_a = Serie.new(serie_a)
13
13
  @serie_b = Serie.new(serie_b)
14
- @parameters = Parameters.new(@serie_a, @serie_b) if Check.series_sizes_valid?(serie_a, serie_b)
14
+ @parameters = Parameters.new(Serie.new(serie_a), Serie.new(serie_b)) if Check.series_sizes_valid?(serie_a, serie_b)
15
15
  @dependance = dependance
16
- @equation = Equation.new(@parameters) if @dependance == 'true'
16
+ @equation = Equation.new(Parameters.new(@serie_a, @serie_b)) if @dependance == 'true'
17
17
  end
18
18
 
19
19
  def dependance
20
- (-0.8..0.8).include?(@coefficient) ? 'false' : 'true'
20
+ (-0.8..0.8).include?(@parameters.coefficient) ? 'false' : 'true'
21
21
  end
22
22
  end
data/lib/equation.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'correlation_x_y'
3
+ require_relative 'parameters'
4
4
 
5
5
  # object linear Equation to get a and b
6
6
  class Equation
data/lib/parameters.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'correlation_x_y'
4
3
  require_relative 'serie'
5
4
 
6
5
  # object Coefficient
@@ -8,9 +7,9 @@ class Parameters
8
7
  attr_accessor :coefficient, :a, :b
9
8
 
10
9
  def initialize(serie_a, serie_b)
11
- @coefficient = calculate_coefficient(serie_a, serie_b)
12
10
  @a = calculate_a(serie_a, serie_b)
13
11
  @b = calculate_b(serie_a, serie_b)
12
+ @coefficient = calculate_coefficient(serie_a, serie_b)
14
13
  end
15
14
 
16
15
  # calculation of the slope between the 2 series
data/rakefile.rb ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new do |t|
6
+ t.libs << 'test'
7
+ end
8
+
9
+ desc 'Run tests'
10
+ task default: :test
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'minitest/autorun'
4
+ require 'correlation_x_y'
5
+
6
+ # class test
7
+ class TestCorrelation < Minitest::Test
8
+ def setup
9
+ serie_a = [58, 59, 62, 65, 63, 72, 75, 77]
10
+ serie_b = [290, 300, 310, 321, 315, 332, 340, 350]
11
+ @correlation = Correlation.new(serie_a, serie_b)
12
+ end
13
+
14
+ def test_correlation_instance
15
+ assert_instance_of Correlation, @correlation
16
+ end
17
+
18
+ def test_serie_a_instance
19
+ assert_instance_of Serie, @correlation.serie_a
20
+ end
21
+
22
+ def test_serie_b_instance
23
+ assert_instance_of Serie, @correlation.serie_b
24
+ end
25
+
26
+ def test_equation_instance
27
+ assert_instance_of Equation, @correlation.equation
28
+ end
29
+
30
+ def test_parameters_instance
31
+ assert_instance_of Parameters, @correlation.parameters
32
+ end
33
+
34
+ def test_correlation_dependance?
35
+ assert_equal 'true', @correlation.dependance
36
+ end
37
+
38
+ def test_correlation_dependance_exist
39
+ refute_nil @correlation.dependance
40
+ end
41
+
42
+ def test_correlation_serie_a_data
43
+ assert_equal [58, 59, 62, 65, 63, 72, 75, 77], @correlation.serie_a.data
44
+ end
45
+
46
+ def test_correlation_serie_b_data
47
+ assert_equal [290, 300, 310, 321, 315, 332, 340, 350], @correlation.serie_b.data
48
+ end
49
+
50
+ def test_correlation_parameters_coefficient
51
+ assert_equal 0.9790150001673016, @correlation.parameters.coefficient
52
+ end
53
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: correlation_x_y
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Raphael Aubry
@@ -22,6 +22,8 @@ files:
22
22
  - lib/equation.rb
23
23
  - lib/parameters.rb
24
24
  - lib/serie.rb
25
+ - rakefile.rb
26
+ - test/test_correlation_x_y.rb
25
27
  homepage: https://rubygems.org/gems/correlation_x_y
26
28
  licenses:
27
29
  - Nonstandard