---
source: kcl/src/simulation_tests.rs
description: Result of parsing comparisons.kcl
---
{
  "Ok": {
    "body": [
      {
        "end": 26,
        "expression": {
          "arguments": [
            {
              "end": 13,
              "left": {
                "end": 8,
                "raw": "3",
                "start": 7,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "operator": "==",
              "right": {
                "end": 13,
                "raw": "3",
                "start": 12,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "start": 7,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 25,
              "raw": "\"equality\"",
              "start": 15,
              "type": "Literal",
              "type": "Literal",
              "value": "equality"
            }
          ],
          "callee": {
            "end": 6,
            "name": "assert",
            "start": 0,
            "type": "Identifier"
          },
          "end": 26,
          "start": 0,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 0,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 67,
        "expression": {
          "arguments": [
            {
              "end": 44,
              "left": {
                "end": 37,
                "raw": "3.0",
                "start": 34,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "operator": "==",
              "right": {
                "end": 44,
                "raw": "3.0",
                "start": 41,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "start": 34,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 66,
              "raw": "\"equality of floats\"",
              "start": 46,
              "type": "Literal",
              "type": "Literal",
              "value": "equality of floats"
            }
          ],
          "callee": {
            "end": 33,
            "name": "assert",
            "start": 27,
            "type": "Identifier"
          },
          "end": 67,
          "start": 27,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 27,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 98,
        "expression": {
          "arguments": [
            {
              "end": 81,
              "left": {
                "end": 76,
                "raw": "3",
                "start": 75,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "operator": "!=",
              "right": {
                "end": 81,
                "raw": "4",
                "start": 80,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 4.0,
                  "suffix": "None"
                }
              },
              "start": 75,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 97,
              "raw": "\"non-equality\"",
              "start": 83,
              "type": "Literal",
              "type": "Literal",
              "value": "non-equality"
            }
          ],
          "callee": {
            "end": 74,
            "name": "assert",
            "start": 68,
            "type": "Identifier"
          },
          "end": 98,
          "start": 68,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 68,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 143,
        "expression": {
          "arguments": [
            {
              "end": 116,
              "left": {
                "end": 109,
                "raw": "3.0",
                "start": 106,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "operator": "!=",
              "right": {
                "end": 116,
                "raw": "4.0",
                "start": 113,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 4.0,
                  "suffix": "None"
                }
              },
              "start": 106,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 142,
              "raw": "\"non-equality of floats\"",
              "start": 118,
              "type": "Literal",
              "type": "Literal",
              "value": "non-equality of floats"
            }
          ],
          "callee": {
            "end": 105,
            "name": "assert",
            "start": 99,
            "type": "Identifier"
          },
          "end": 143,
          "start": 99,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 99,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 163,
        "expression": {
          "arguments": [
            {
              "end": 156,
              "left": {
                "end": 152,
                "raw": "3",
                "start": 151,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "operator": "<",
              "right": {
                "end": 156,
                "raw": "4",
                "start": 155,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 4.0,
                  "suffix": "None"
                }
              },
              "start": 151,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 162,
              "raw": "\"lt\"",
              "start": 158,
              "type": "Literal",
              "type": "Literal",
              "value": "lt"
            }
          ],
          "callee": {
            "end": 150,
            "name": "assert",
            "start": 144,
            "type": "Identifier"
          },
          "end": 163,
          "start": 144,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 144,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 201,
        "expression": {
          "arguments": [
            {
              "end": 177,
              "left": {
                "end": 172,
                "raw": "3",
                "start": 171,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "operator": "<=",
              "right": {
                "end": 177,
                "raw": "4",
                "start": 176,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 4.0,
                  "suffix": "None"
                }
              },
              "start": 171,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 200,
              "raw": "\"lte but actually lt\"",
              "start": 179,
              "type": "Literal",
              "type": "Literal",
              "value": "lte but actually lt"
            }
          ],
          "callee": {
            "end": 170,
            "name": "assert",
            "start": 164,
            "type": "Identifier"
          },
          "end": 201,
          "start": 164,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 164,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 239,
        "expression": {
          "arguments": [
            {
              "end": 215,
              "left": {
                "end": 210,
                "raw": "4",
                "start": 209,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 4.0,
                  "suffix": "None"
                }
              },
              "operator": "<=",
              "right": {
                "end": 215,
                "raw": "4",
                "start": 214,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 4.0,
                  "suffix": "None"
                }
              },
              "start": 209,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 238,
              "raw": "\"lte but actually eq\"",
              "start": 217,
              "type": "Literal",
              "type": "Literal",
              "value": "lte but actually eq"
            }
          ],
          "callee": {
            "end": 208,
            "name": "assert",
            "start": 202,
            "type": "Identifier"
          },
          "end": 239,
          "start": 202,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 202,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 259,
        "expression": {
          "arguments": [
            {
              "end": 252,
              "left": {
                "end": 248,
                "raw": "4",
                "start": 247,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 4.0,
                  "suffix": "None"
                }
              },
              "operator": ">",
              "right": {
                "end": 252,
                "raw": "3",
                "start": 251,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "start": 247,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 258,
              "raw": "\"gt\"",
              "start": 254,
              "type": "Literal",
              "type": "Literal",
              "value": "gt"
            }
          ],
          "callee": {
            "end": 246,
            "name": "assert",
            "start": 240,
            "type": "Identifier"
          },
          "end": 259,
          "start": 240,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 240,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 297,
        "expression": {
          "arguments": [
            {
              "end": 273,
              "left": {
                "end": 268,
                "raw": "4",
                "start": 267,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 4.0,
                  "suffix": "None"
                }
              },
              "operator": ">=",
              "right": {
                "end": 273,
                "raw": "3",
                "start": 272,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "start": 267,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 296,
              "raw": "\"gte but actually gt\"",
              "start": 275,
              "type": "Literal",
              "type": "Literal",
              "value": "gte but actually gt"
            }
          ],
          "callee": {
            "end": 266,
            "name": "assert",
            "start": 260,
            "type": "Identifier"
          },
          "end": 297,
          "start": 260,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 260,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 335,
        "expression": {
          "arguments": [
            {
              "end": 311,
              "left": {
                "end": 306,
                "raw": "3",
                "start": 305,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "operator": ">=",
              "right": {
                "end": 311,
                "raw": "3",
                "start": 310,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 3.0,
                  "suffix": "None"
                }
              },
              "start": 305,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 334,
              "raw": "\"gte but actually eq\"",
              "start": 313,
              "type": "Literal",
              "type": "Literal",
              "value": "gte but actually eq"
            }
          ],
          "callee": {
            "end": 304,
            "name": "assert",
            "start": 298,
            "type": "Identifier"
          },
          "end": 335,
          "start": 298,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 298,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 375,
        "expression": {
          "arguments": [
            {
              "end": 354,
              "left": {
                "end": 347,
                "raw": "0.0",
                "start": 344,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 0.0,
                  "suffix": "None"
                }
              },
              "operator": "==",
              "right": {
                "end": 354,
                "raw": "0.0",
                "start": 351,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 0.0,
                  "suffix": "None"
                }
              },
              "start": 344,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 374,
              "raw": "\"equality of zero\"",
              "start": 356,
              "type": "Literal",
              "type": "Literal",
              "value": "equality of zero"
            }
          ],
          "callee": {
            "end": 343,
            "name": "assert",
            "start": 337,
            "type": "Identifier"
          },
          "end": 375,
          "start": 337,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 337,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      },
      {
        "end": 428,
        "expression": {
          "arguments": [
            {
              "end": 394,
              "left": {
                "end": 386,
                "raw": "0.0",
                "start": 383,
                "type": "Literal",
                "type": "Literal",
                "value": {
                  "value": 0.0,
                  "suffix": "None"
                }
              },
              "operator": "==",
              "right": {
                "argument": {
                  "end": 394,
                  "raw": "0.0",
                  "start": 391,
                  "type": "Literal",
                  "type": "Literal",
                  "value": {
                    "value": 0.0,
                    "suffix": "None"
                  }
                },
                "end": 394,
                "operator": "-",
                "start": 390,
                "type": "UnaryExpression",
                "type": "UnaryExpression"
              },
              "start": 383,
              "type": "BinaryExpression",
              "type": "BinaryExpression"
            },
            {
              "end": 427,
              "raw": "\"equality of zero and neg zero\"",
              "start": 396,
              "type": "Literal",
              "type": "Literal",
              "value": "equality of zero and neg zero"
            }
          ],
          "callee": {
            "end": 382,
            "name": "assert",
            "start": 376,
            "type": "Identifier"
          },
          "end": 428,
          "start": 376,
          "type": "CallExpression",
          "type": "CallExpression"
        },
        "start": 376,
        "type": "ExpressionStatement",
        "type": "ExpressionStatement"
      }
    ],
    "end": 429,
    "nonCodeMeta": {
      "nonCodeNodes": {
        "9": [
          {
            "end": 337,
            "start": 335,
            "type": "NonCodeNode",
            "value": {
              "type": "newLine"
            }
          }
        ]
      },
      "startNodes": []
    },
    "start": 0
  }
}
