anchor.diff:  open Engine.Rules.ValueDistribution;
   open Newtonsoft.Json
   open FsCheck
  +open System
   
   let generatedCalculatedScheme weights = weights |> Array.mapi (fun a b -> (a,b) )
                                                   |> dict 
  
positive.code: 
  let assertCalculated (weights:float[]) (numberOfUsers:int) (samplingError:float) (calcFunction:obj[]->string)  = 
              let sumWeights = weights |> Array.sum
              [|1..numberOfUsers|] 
                          |> Seq.map (fun x-> calcFunction([|x|]))
                          |> Seq.countBy id
                          |> Seq.sortBy fst 
  
negative.code:                           Gen.elements([1..10]);
                            Gen.elements([1..10]);
                            ]) |> Arb.fromGen
  
      let totalUsers = 1000
      let samplingError = 0.06
      Prop.forAll gen (fun test -> 
                          let weights = test |> Seq.map float |> Seq.toArray
                          let calculatorWeighted = generatedCalculatedScheme weights
  