From 0dc7b21bf5537e69a0b796be48bfd12b4b55ede2 Mon Sep 17 00:00:00 2001
From: AxelCarayon <axel.carayon@gmail.com>
Date: Tue, 1 Mar 2022 11:34:54 +0100
Subject: [PATCH] experimentation 1 avec tests

---
 inputs/originalInputs.txt     | 2000 +++++++++++++++++++++++++++++++++
 main.py                       |    5 +-
 outputs/originalHistogram.png |  Bin 0 -> 9680 bytes
 outputs/originalOutputs.txt   |    1 +
 parameters.yaml               |    6 +-
 test.py                       |   33 +
 6 files changed, 2041 insertions(+), 4 deletions(-)
 create mode 100644 inputs/originalInputs.txt
 create mode 100644 outputs/originalHistogram.png
 create mode 100644 outputs/originalOutputs.txt
 create mode 100644 test.py

diff --git a/inputs/originalInputs.txt b/inputs/originalInputs.txt
new file mode 100644
index 0000000..82f4bec
--- /dev/null
+++ b/inputs/originalInputs.txt
@@ -0,0 +1,2000 @@
+7
+12
+16
+11
+4
+15
+0
+4
+10
+20
+17
+8
+20
+18
+17
+9
+2
+3
+0
+9
+11
+3
+20
+14
+5
+12
+16
+11
+15
+10
+15
+10
+16
+11
+13
+9
+8
+6
+18
+0
+4
+18
+4
+2
+2
+18
+14
+8
+14
+16
+12
+10
+18
+13
+10
+1
+12
+4
+14
+0
+13
+14
+16
+8
+10
+15
+12
+17
+13
+7
+7
+13
+5
+0
+15
+3
+18
+8
+1
+20
+9
+2
+17
+5
+19
+20
+16
+4
+3
+16
+2
+16
+17
+2
+7
+20
+9
+12
+11
+6
+2
+0
+19
+16
+6
+11
+5
+0
+20
+14
+20
+16
+17
+19
+14
+8
+1
+1
+15
+3
+17
+0
+19
+3
+5
+12
+14
+2
+20
+14
+15
+13
+3
+12
+13
+10
+5
+7
+17
+7
+18
+0
+1
+4
+11
+15
+7
+14
+12
+4
+13
+5
+1
+7
+18
+11
+19
+7
+8
+4
+10
+0
+15
+11
+5
+1
+5
+7
+6
+17
+14
+16
+3
+8
+8
+13
+11
+0
+12
+8
+19
+4
+1
+3
+5
+6
+19
+4
+0
+2
+9
+5
+17
+3
+4
+15
+12
+10
+1
+8
+3
+11
+15
+9
+16
+14
+8
+15
+13
+8
+10
+17
+14
+1
+20
+5
+10
+5
+7
+3
+13
+4
+11
+12
+9
+5
+6
+15
+20
+19
+2
+1
+7
+14
+9
+19
+14
+20
+0
+10
+18
+16
+3
+14
+9
+18
+9
+15
+14
+4
+13
+16
+14
+13
+10
+6
+9
+17
+1
+19
+9
+8
+4
+17
+11
+18
+1
+6
+15
+11
+7
+13
+5
+14
+13
+5
+16
+5
+9
+18
+17
+4
+5
+16
+6
+3
+17
+4
+4
+9
+7
+0
+2
+12
+8
+4
+6
+9
+17
+7
+7
+6
+15
+8
+4
+10
+8
+14
+13
+11
+18
+11
+12
+1
+12
+3
+20
+10
+13
+11
+11
+20
+2
+14
+5
+14
+7
+13
+17
+15
+10
+6
+17
+2
+20
+7
+16
+19
+9
+16
+14
+15
+4
+3
+17
+19
+20
+0
+0
+20
+13
+3
+14
+1
+3
+0
+11
+2
+17
+16
+16
+11
+11
+7
+11
+7
+14
+5
+0
+19
+9
+9
+13
+13
+7
+18
+5
+7
+17
+20
+19
+1
+10
+1
+1
+11
+19
+14
+12
+13
+9
+13
+11
+4
+17
+11
+12
+3
+17
+18
+0
+16
+14
+14
+18
+18
+1
+18
+8
+13
+16
+0
+4
+6
+12
+8
+1
+9
+18
+4
+17
+14
+4
+6
+5
+6
+0
+14
+15
+16
+11
+1
+13
+19
+6
+8
+8
+3
+13
+15
+7
+8
+9
+14
+8
+4
+20
+6
+5
+18
+2
+12
+6
+11
+2
+2
+5
+11
+7
+2
+8
+19
+20
+2
+1
+9
+15
+10
+8
+11
+5
+8
+3
+16
+19
+5
+9
+7
+20
+4
+5
+8
+5
+6
+12
+0
+11
+12
+6
+14
+17
+6
+19
+19
+14
+2
+19
+1
+4
+18
+12
+20
+14
+13
+2
+16
+19
+5
+4
+8
+13
+6
+13
+4
+13
+11
+18
+3
+10
+6
+11
+13
+9
+5
+4
+20
+3
+14
+4
+11
+11
+0
+5
+2
+15
+17
+4
+9
+7
+1
+10
+18
+6
+4
+13
+12
+10
+17
+2
+12
+2
+15
+12
+20
+11
+18
+12
+12
+12
+11
+4
+13
+20
+18
+15
+7
+20
+1
+7
+2
+17
+0
+7
+6
+13
+14
+16
+14
+6
+3
+9
+16
+12
+10
+6
+11
+11
+4
+19
+2
+18
+17
+5
+15
+0
+3
+11
+5
+11
+18
+19
+20
+16
+8
+19
+9
+1
+14
+13
+0
+3
+15
+17
+14
+5
+1
+20
+1
+20
+15
+12
+8
+11
+17
+4
+9
+9
+18
+10
+18
+6
+6
+10
+0
+15
+14
+4
+6
+11
+5
+15
+8
+0
+9
+17
+2
+2
+13
+18
+11
+0
+18
+15
+15
+17
+12
+1
+20
+20
+0
+9
+6
+20
+14
+6
+4
+19
+11
+13
+19
+17
+10
+2
+14
+4
+7
+12
+8
+8
+2
+1
+8
+4
+10
+17
+0
+17
+2
+18
+0
+1
+6
+3
+1
+4
+11
+9
+6
+4
+15
+19
+12
+1
+14
+19
+19
+12
+12
+7
+6
+10
+12
+11
+13
+8
+7
+5
+20
+13
+2
+10
+15
+16
+5
+5
+4
+8
+8
+10
+19
+14
+16
+18
+4
+0
+18
+19
+5
+3
+5
+19
+16
+9
+6
+3
+7
+7
+6
+20
+5
+10
+9
+1
+15
+8
+15
+20
+16
+20
+9
+5
+6
+1
+14
+19
+16
+13
+20
+0
+19
+15
+14
+2
+13
+5
+1
+2
+8
+1
+18
+6
+19
+18
+12
+1
+12
+17
+5
+10
+3
+20
+7
+0
+9
+10
+14
+6
+19
+8
+7
+4
+15
+20
+4
+3
+6
+6
+4
+12
+18
+18
+8
+17
+18
+14
+19
+6
+5
+12
+11
+5
+7
+14
+17
+3
+0
+1
+18
+5
+9
+16
+8
+9
+14
+9
+8
+4
+14
+12
+13
+19
+4
+8
+8
+3
+17
+8
+15
+11
+6
+8
+12
+9
+0
+1
+10
+6
+16
+13
+3
+8
+14
+13
+14
+15
+3
+12
+7
+2
+16
+19
+15
+15
+4
+9
+14
+10
+4
+17
+11
+4
+5
+13
+2
+4
+12
+4
+13
+8
+3
+15
+10
+11
+9
+5
+9
+9
+5
+13
+13
+13
+16
+16
+18
+17
+3
+2
+14
+2
+20
+3
+11
+18
+5
+0
+6
+16
+15
+8
+11
+11
+14
+4
+7
+9
+18
+15
+8
+1
+1
+5
+10
+18
+2
+17
+0
+8
+17
+9
+10
+9
+5
+17
+5
+7
+8
+0
+11
+11
+6
+1
+6
+9
+14
+3
+16
+8
+14
+7
+7
+20
+2
+18
+14
+0
+16
+19
+7
+18
+10
+9
+6
+9
+4
+14
+10
+15
+5
+7
+10
+7
+14
+13
+16
+9
+11
+4
+15
+4
+8
+6
+0
+3
+20
+7
+14
+17
+10
+5
+7
+3
+12
+10
+20
+20
+17
+12
+11
+16
+1
+5
+2
+11
+3
+9
+3
+12
+5
+8
+15
+12
+16
+20
+5
+5
+17
+8
+15
+10
+1
+0
+2
+10
+16
+12
+12
+2
+10
+8
+9
+9
+4
+14
+19
+15
+9
+10
+7
+7
+12
+2
+10
+2
+16
+15
+5
+4
+6
+2
+2
+7
+5
+6
+5
+0
+6
+6
+9
+20
+1
+12
+17
+12
+20
+17
+18
+14
+0
+17
+11
+10
+18
+6
+8
+3
+1
+0
+20
+18
+2
+12
+1
+14
+2
+3
+13
+7
+7
+6
+0
+6
+1
+18
+9
+15
+14
+2
+8
+15
+0
+12
+11
+8
+19
+9
+8
+14
+0
+9
+7
+1
+5
+14
+4
+8
+3
+19
+7
+7
+3
+19
+11
+20
+5
+4
+17
+9
+19
+19
+15
+20
+5
+10
+13
+18
+2
+4
+12
+10
+0
+3
+18
+15
+12
+8
+19
+1
+16
+14
+2
+11
+15
+18
+1
+20
+8
+3
+7
+9
+19
+15
+13
+13
+17
+14
+20
+14
+2
+11
+17
+1
+17
+19
+0
+10
+11
+3
+18
+8
+20
+1
+12
+10
+5
+14
+19
+14
+12
+18
+20
+3
+16
+8
+14
+2
+19
+13
+5
+6
+6
+3
+12
+13
+7
+6
+7
+4
+14
+15
+10
+1
+0
+0
+15
+16
+1
+18
+12
+20
+12
+13
+7
+19
+0
+3
+17
+15
+9
+5
+4
+15
+8
+9
+15
+2
+19
+9
+18
+10
+0
+4
+6
+20
+17
+4
+0
+12
+3
+20
+9
+5
+15
+10
+7
+19
+2
+5
+3
+0
+0
+19
+1
+8
+15
+9
+3
+3
+18
+6
+12
+15
+14
+20
+1
+0
+2
+7
+0
+5
+9
+6
+1
+17
+15
+6
+8
+16
+8
+9
+13
+13
+8
+19
+17
+3
+20
+5
+11
+6
+13
+20
+18
+9
+1
+8
+20
+19
+13
+6
+1
+15
+9
+14
+11
+7
+7
+1
+8
+12
+4
+9
+0
+13
+20
+15
+17
+3
+19
+4
+0
+13
+8
+9
+0
+11
+13
+1
+1
+8
+11
+9
+2
+0
+10
+10
+18
+17
+12
+17
+15
+6
+17
+17
+13
+0
+7
+18
+13
+11
+11
+2
+10
+14
+18
+11
+15
+2
+3
+17
+12
+0
+8
+18
+12
+14
+4
+14
+20
+0
+18
+2
+11
+10
+16
+13
+20
+17
+5
+9
+12
+5
+19
+9
+10
+12
+3
+17
+19
+6
+16
+2
+1
+16
+11
+13
+4
+5
+2
+3
+11
+9
+4
+15
+10
+12
+16
+3
+19
+18
+20
+8
+9
+18
+9
+0
+14
+2
+0
+14
+17
+16
+7
+14
+14
+12
+3
+0
+10
+2
+12
+14
+6
+2
+5
+5
+0
+10
+16
+5
+1
+4
+3
+17
+2
+8
+8
+18
+3
+14
+18
+15
+19
+8
+14
+6
+13
+4
+15
+13
+9
+18
+6
+1
+20
+13
+18
+11
+9
+6
+7
+11
+20
+18
+4
+4
+12
+3
+4
+7
+16
+8
+1
+2
+8
+9
+12
+12
+19
+13
+14
+20
+15
+1
+14
+18
+16
+2
+6
+6
+6
+13
+2
+15
+12
+17
+20
+16
+8
+16
+4
+6
+7
+7
+1
+11
+9
+6
+3
+1
+13
+15
+20
+0
+12
+9
+6
+19
+1
+6
+8
+12
+9
+1
+10
+19
+13
+11
+13
+12
+16
+15
+7
+3
+15
+14
+10
+17
+20
+7
+4
+17
+16
+14
+7
+9
+9
+5
+8
+17
+17
+1
+1
+17
+14
+6
+0
+11
+10
+14
+1
+5
+17
+3
+5
+8
+20
+14
+16
+19
+18
+1
+13
+1
+4
+6
+2
+9
+1
+12
+14
+2
+5
+17
+12
+4
+13
+6
+13
+6
+11
+12
+10
+16
+16
+5
+13
+11
+16
+4
+1
+10
+4
+19
+13
+7
+15
+5
+4
+14
+17
+5
+3
+16
+14
+16
+7
+11
+4
+4
+3
+11
+8
+15
+2
+4
+17
+6
+7
+1
+13
+0
+2
+2
+2
+6
+1
+2
+11
+3
+12
+4
+14
+18
+11
+2
+11
+13
+9
+14
+1
+4
+10
+15
+16
+7
+15
+1
+20
+10
+14
+13
+1
+11
+9
+6
+3
+0
+7
+5
+14
+8
+3
+13
+8
+15
+13
+17
+5
+6
+16
+3
+20
+0
+13
+6
+4
+4
+11
+3
+9
+6
+13
+12
+13
+9
+18
+12
+1
+1
+11
+16
+17
+1
+7
+5
+6
+20
+8
+20
+2
+13
+0
+1
+12
+17
+18
+18
+17
+19
+0
+18
+12
+2
+17
+15
+15
+5
+5
+14
+8
+15
+20
+8
+5
+5
+10
+19
+2
+17
+2
+15
+12
+9
+9
+16
+1
+10
+7
+12
+17
+12
+15
+3
+14
+19
+5
+9
+11
+8
+12
+5
+14
+15
+1
+7
+19
+6
+17
+14
+14
+16
+15
+17
+3
+12
+15
+14
+13
+10
+17
+6
+8
+8
+10
+10
+0
+6
+3
+16
+7
+20
+19
+0
+6
+13
+1
+3
+7
+19
+1
+1
+16
+14
+2
+7
+5
+3
+18
+6
+11
+3
+12
+20
+13
+10
+16
+13
+7
+10
+20
+14
+3
+15
+1
+4
+5
+16
+9
+1
+11
+19
+6
+1
+19
+7
+11
+0
+7
+16
+20
+3
+0
+18
+4
+1
+15
+18
+15
+2
+4
+18
+0
+11
+15
+4
+13
+0
+8
+11
+6
+2
+18
+5
+10
+7
+15
+14
+7
+8
+10
+20
+6
+6
+20
+8
+11
+8
+13
+18
+12
+19
+6
+17
+16
+8
+14
+4
+17
+3
+16
+18
+1
+18
+9
+5
+14
+17
+16
+8
+2
+0
+10
+6
+17
+20
+6
+6
+17
+16
+20
+3
+8
+4
+3
+1
+8
+13
+3
+0
+12
+4
+1
+7
+20
+10
+16
+16
+8
+2
+4
+12
+11
+0
+19
+2
+1
+11
+15
+17
+8
+18
+12
+11
+11
+17
+3
+7
+9
+5
+3
+8
+0
+1
+14
+18
+13
+16
+15
+15
+11
+15
+20
+12
+19
+8
+11
+7
+2
+2
+12
diff --git a/main.py b/main.py
index 5d19361..663d3b8 100644
--- a/main.py
+++ b/main.py
@@ -1,6 +1,7 @@
 import numberGenerator
 import outputModule
 import yaml
+import test
 from pathlib import Path
 
 def getParameters() -> dict:
@@ -31,4 +32,6 @@ if __name__ == '__main__':
     output = outputModule.computeValues(numbers,min,max)
 
     saveInput(numbers)
-    saveOutput(output)
\ No newline at end of file
+    saveOutput(output)
+
+    test.runTests()
\ No newline at end of file
diff --git a/outputs/originalHistogram.png b/outputs/originalHistogram.png
new file mode 100644
index 0000000000000000000000000000000000000000..01ff33ba575e18a91fd54dec04dbf06588dc5923
GIT binary patch
literal 9680
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

literal 0
HcmV?d00001

diff --git a/outputs/originalOutputs.txt b/outputs/originalOutputs.txt
new file mode 100644
index 0000000..61b8936
--- /dev/null
+++ b/outputs/originalOutputs.txt
@@ -0,0 +1 @@
+9.8735
\ No newline at end of file
diff --git a/parameters.yaml b/parameters.yaml
index eafc345..768b1db 100644
--- a/parameters.yaml
+++ b/parameters.yaml
@@ -1,4 +1,4 @@
-numbers_to_generate : 100
-seed :  #if no value the seed will be random
+numbers_to_generate : 2000
+seed : 128 #if no value the seed will be random
 min_value : 0 #included
-max_value : 10 #included
\ No newline at end of file
+max_value : 20 #included
\ No newline at end of file
diff --git a/test.py b/test.py
new file mode 100644
index 0000000..52a498e
--- /dev/null
+++ b/test.py
@@ -0,0 +1,33 @@
+import hashlib
+
+def getOriginalInput():
+    inputs = []
+    with open("inputs/originalInputs.txt","r") as file :
+        for line in file :
+            inputs.append(int(line))
+    return inputs
+
+def getNewInput():
+    inputs = []
+    with open("inputs/inputs.txt","r") as file :
+        for line in file :
+            inputs.append(int(line))
+    return inputs
+
+def getOriginalOutput():
+    with open("outputs/originalOutputs.txt","r") as file :
+        return float(file.read())
+
+def getNewOutput():
+    with open("outputs/outputs.txt","r") as file :
+        return float(file.read())
+
+def getChecksum(file):
+    with open(file,"rb") as f:
+        return hashlib.md5(f.read()).hexdigest()
+
+def runTests():
+    assert getOriginalInput() == getNewInput()
+    assert getOriginalOutput() == getNewOutput()
+    assert getChecksum("outputs/originalHistogram.png") == getChecksum("outputs/histogram.png")
+    print ("All tests passed!")
\ No newline at end of file
-- 
GitLab