anchor.diff:      
       [<TestMethod>]
       member this.``LockFreeLaze should calсulate only once`` () =
  -        let random = new System.Random()
  -        let supplier = (fun () -> random.Next(1, 100)) 
  +        let random = new Random()
  +        let supplier = (fun () -> random.Next()) 
           let calculator = LazyFactory.CreateLockFreeLazy(supplier)
  -        let result = calculator.Get()
  -        ThreadPool.QueueUserWorkItem(fun object -> calculator.Get() |> should equal result) |> ignore+        let mutable results = List.Empty
  +        let threads = [ for i in 1 .. 100 -> new Thread (fun () -> results <- calculator.Get() :: results) ]
  +        threads |> List.iter (fun (thread : Thread) -> thread.Start())
  +        threads |> List.iter (fun (thread : Thread) -> thread.Join())
  +        let checkResult = calculator.Get()
  +        for result in results do
  +            result |> should equal checkResult 
positive.code: open Homework_8.Task_1
  open System.ComponentModel
  open System.Threading
  
  [<TestClass>]
  type Task_1Tests () =
  
negative.code:             args.Result <- box <| calculator.Get())
          worker.RunWorkerCompleted.Add(fun args ->
              args.Result |> should equal 1)
          worker.RunWorkerAsync() 
      
      [<TestMethod>]
      member this.``Check LockFreeLaze`` () = 
  