Преглед изворни кода

[consensus] fix consensus sigmas unit test

mohab metwally пре 3 година
родитељ
комит
e07e90c707
1 измењених фајлова са 9 додато и 16 уклоњено
  1. 9 16
      src/consensus/state.rs

+ 9 - 16
src/consensus/state.rs

@@ -959,33 +959,26 @@ mod tests {
     #[test]
     fn calc_sigmas_test() {
         let giga_epsilon =
-            Float10::try_from("10000000000000000000000000000000000000000000000000000000000")
+            Float10::try_from("1000000000000000000000000000000000000000000000000000000000000000000000000")
                 .unwrap();
         let giga_epsilon_base = fbig2base(giga_epsilon);
-        let f = Float10::try_from("0.5").unwrap();
-        let total_stake = Float10::try_from("1000").unwrap();
+        let f = Float10::try_from("0.01").unwrap();
+        let total_stake = Float10::try_from("100").unwrap();
         let (sigma1, sigma2) = ConsensusState::calc_sigmas(f, total_stake);
         let sigma1_rhs = Float10::try_from(
-            "20065240046497827749443820209808913616958821867408735207193448041041362944",
+            "2909373465034095801035568917399197865646520818579502832252119592405565440",
         )
         .unwrap();
         let sigma1_rhs_base = fbig2base(sigma1_rhs);
         let sigma2_rhs = Float10::try_from(
-            "6954082282744237239883318512759812991231744634473746668074299461468160",
+            "9137556389643100714432609642916129738741963230846798778430644027392",
         )
         .unwrap();
         let sigma2_rhs_base = fbig2base(sigma2_rhs);
-        let sigma1_delta = if sigma1_rhs_base > sigma1 {
-            sigma1_rhs_base - sigma1
-        } else {
-            sigma1 - sigma1_rhs_base
-        };
-        let sigma2_delta = if sigma2_rhs_base > sigma2 {
-            sigma2_rhs_base - sigma2
-        } else {
-            sigma2 - sigma2_rhs_base
-        };
-        //note! test cases were generated by low precision scripts.
+        let sigma1_delta = sigma1_rhs_base - sigma1;
+        let sigma2_delta =  sigma2_rhs_base - sigma2;
+        //note! test cases were generated by low precision python scripts.
+        //https://github.com/ertosns/lotterysim/blob/master/pallas_unittests.csv
         assert!(sigma1_delta < giga_epsilon_base);
         assert!(sigma2_delta < giga_epsilon_base);
     }