===
Expression: Assert: Equal: simple
===

a := assert("a" == "b", "c")

---

(file
  (assignment
    (identifier)
    (expression
      (assert_parameters
        (condition
          (expression
            (value
              (string)))
          (expression
            (value
              (string))))
        (expression
          (value
            (string)))))))

===
Expression: Assert: Equal: nested
===

a := assert(("a" / os()) == "true", arch() + shell("bash", "-c", "echo", "toto"))

---

(file
  (assignment
    (identifier)
    (expression
      (assert_parameters
        (condition
          (expression
            (value
              (expression
                (value
                  (string))
                (expression
                  (value
                    (function_call
                      (identifier)))))))
          (expression
            (value
              (string))))
        (expression
          (value
            (function_call
              (identifier)))
          (expression
            (value
              (function_call
                (identifier)
                (function_parameters
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string))))))))))))

===
Expression: Assert: Not equal: simple
===

a := assert("a" != "b", "c")

---

(file
  (assignment
    (identifier)
    (expression
      (assert_parameters
        (condition
          (expression
            (value
              (string)))
          (expression
            (value
              (string))))
        (expression
          (value
            (string)))))))

===
Expression: Assert: Not equal: nested
===

a := assert(("a" / os()) != "true", arch() + shell("bash", "-c", "echo", "toto"))

---

(file
  (assignment
    (identifier)
    (expression
      (assert_parameters
        (condition
          (expression
            (value
              (expression
                (value
                  (string))
                (expression
                  (value
                    (function_call
                      (identifier)))))))
          (expression
            (value
              (string))))
        (expression
          (value
            (function_call
              (identifier)))
          (expression
            (value
              (function_call
                (identifier)
                (function_parameters
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string))))))))))))

===
Expression: Assert: Not equal: simple
===

a := assert("a" =~ "b", "c")

---

(file
  (assignment
    (identifier)
    (expression
      (assert_parameters
        (condition
          (expression
            (value
              (string)))
          (regex
            (value
              (string))))
        (expression
          (value
            (string)))))))

===
Expression: Assert: Regex: nested
===

a := assert(("a" / os()) =~ "true", arch() + shell("bash", "-c", "echo", "toto"))

---

(file
  (assignment
    (identifier)
    (expression
      (assert_parameters
        (condition
          (expression
            (value
              (expression
                (value
                  (string))
                (expression
                  (value
                    (function_call
                      (identifier)))))))
          (regex
            (value
              (string))))
        (expression
          (value
            (function_call
              (identifier)))
          (expression
            (value
              (function_call
                (identifier)
                (function_parameters
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string)))
                  (expression
                    (value
                      (string))))))))))))
