anchor.diff:      check "System.Math" ( angleBracket "typeof<System.Math" )
       check "System.Math" ( angleBracket "typeof<System.Math>" )
       check "typeof"      ( angleBracket "typeof<System.Math>." )
  +test_of_nameSpaceArray ()
   
  -let test_of_previousDot =
  +let test_of_previousDot () =
       // do! assertEquals "abc" ( previousDot "System" ) // error
       check "System."                               ( previousDot "System.Text")
       check "System.Text."                          ( previousDot "System.Text.RegularExpressions")
       check "System.Text.RegularExpressions."       ( previousDot "System.Text.RegularExpressions.Regex")
       check "System.Text.RegularExpressions.Regex." ( previousDot "System.Text.RegularExpressions.Regex.Split")
  +test_of_previousDot ()
   
  -let test_of_openCount =
  +let test_of_openCount () =
       check 0 (openCount "")
       check 1 (openCount "open")
       check 2 (openCount "open \n open")
       check 3 (openCount "open \n open \n open")
  +test_of_openCount ()
   
  -let test_of_msgForDeoplete =
  +let test_of_msgForDeoplete () =
       check """{"word":"abc","info":[[""]]}""" ( decode64( msgForDeoplete "abc" ) )
  +test_of_msgForDeoplete ()
   
  +stdout.WriteLine "\n===== autocomplete check ====="
   
   let initialize_deopleteExe () =
     let json = """{ "Row" : -9999 ,"Col": 1, "Line": "", "FilePath" : "./dummy.fsx", "Source" : "", "Init":"true"}"""
     let resultString = """{"word":"finish initialize!","info":[[""]]}"""
  -  replyer.Send(json)
  +  // replyer.Send(json)
     // wait for lunch time :-)  It's imortant!
  -  System.Threading.Thread.Sleep 10000
  -  check (decode64( replyer.recieveData().Data )) resultString
  +  // System.Threading.Thread.Sleep 10000
  +  check (decode64( replyer.sendRecieve(json).Data )) resultString
   
   initialize_deopleteExe ()
   
  -stdout.WriteLine " ------------------------------------ "
   
   let List_Cons () =
       let json           = """{ "Row" : 1 ,"Col": 5, "Line": "List.", "FilePath" : "./dummy.fsx", "Source" : "", "Init":"false"}"""
  -    replyer.Send(json)
  -    System.Threading.Thread.Sleep 500
  -    let ListFuncs      = ( decode64( replyer.recieveData().Data ) ).Split('\n') |> fun ary -> ary.[0]
  +    // replyer.Send(json)
  +    // System.Threading.Thread.Sleep 500
  +    let ListFuncs      = ( decode64( replyer.sendRecieve(json).Data ) ).Split('\n') |> fun ary -> ary.[0]
       let resultString   = JsonConvert.DeserializeObject<deopletefs.JsonFormat>(ListFuncs).word
       let expectedString = "Cons"
       check expectedString resultString
  
positive.code: let attributeHints_AbstractClassAttribute =
      let json           = """{ "Row" : 1 ,"Col": 2, "Line": "[<", "FilePath" : "./dummy.fsx", "Source" : "", "Init":"false"}"""
      replyer.Send(json)
      System.Threading.Thread.Sleep 500
      let attributeA     = ( decode64( replyer.recieveData().Data ) ).Split('\n') |> fun ary -> ary.[0]
      let resultString   = JsonConvert.DeserializeObject<deopletefs.JsonFormat>(attributeA).word
      let expectedString = "AbstractClassAttribute"
      check expectedString resultString
  
negative.code:   member this.Send(message:string) =
      ps.StandardInput.WriteLine(message)
  
    member this.Quit() =
      ps.Kill()
  
    member this.sendRecieve(message:string) :DataReceivedEventArgs =
  
      cq.Clear |> ignore
      ps.StandardInput.WriteLine(message)
  
      // wait for stdout-output's string in queue
      while cq.IsEmpty do
        ()
  
      snd ( cq.TryDequeue() )
  
  
  