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 +4 -4
- data/lib/correlation_x_y.rb +4 -4
- data/lib/equation.rb +1 -1
- data/lib/parameters.rb +1 -2
- data/rakefile.rb +10 -0
- data/test/test_correlation_x_y.rb +53 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e7180db0d7d647556480b18a79351dad3f48b25407280588536241bc4e4f49c
|
4
|
+
data.tar.gz: 614c7b41558f87d9dd6a031d9a81b0f50460a911ca6c535908a76edfa5b29e3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3164dddff825aa28fa71c1fc70c420d3c9690137f492e24a0ff35b8067272c965ac9cd4e65a8fbdc036ef5a00a31d0941079934aa24e4ed488241c3f258d6ebd
|
7
|
+
data.tar.gz: 500b1b3e1defdc3e8da1b103352bdfd396804bcb4cbaa4e865a10a53ce69be0a1c7fe359acb706aabfdff463d2349b40ee19d785cbb7c5826a5de0338048bdff
|
data/lib/correlation_x_y.rb
CHANGED
@@ -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(
|
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(@
|
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
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,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.
|
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
|