packages feed

eo-phi-normalizer-3.2.0: test/eo/phi/from-eo/as-phi.yaml

# The MIT License (MIT)

# Copyright (c) 2016-2024 Objectionary.com

# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:

# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.

# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

title: Processing terms generated from EO
tests:
  - name: "A program that prints itself"
    input: |
      {⟦org ↦ ⟦eolang ↦ ⟦prints-itself ↦ ⟦φ ↦ Φ.org.eolang.as-phi(α0 ↦ ξ).length.gt(α0 ↦ Φ.org.eolang.int(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧)))⟧, prints-itself-to-console ↦ ⟦x ↦ Φ.org.eolang.int(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-2A ⟧)), φ ↦ Φ.org.eolang.io.stdout(α0 ↦ Φ.org.eolang.as-phi(α0 ↦ ξ))⟧, λ ⤍ Package⟧, λ ⤍ Package⟧⟧}
    normalized: |
      { ⟦ org ↦ ⟦ eolang ↦ ⟦ prints-itself ↦ ⟦ φ ↦ Φ.org.eolang.as-phi (α0 ↦ ξ).length.gt (α0 ↦ Φ.org.eolang.int (as-bytes ↦ Φ.org.eolang.bytes (⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧))) ⟧, prints-itself-to-console ↦ ⟦ x ↦ Φ.org.eolang.int (as-bytes ↦ Φ.org.eolang.bytes (⟦ Δ ⤍ 00-00-00-00-00-00-00-2A ⟧)), φ ↦ Φ.org.eolang.io.stdout (α0 ↦ Φ.org.eolang.as-phi (α0 ↦ ξ)) ⟧, λ ⤍ Package ⟧, λ ⤍ Package ⟧ ⟧ }
    prettified: |
      {
        ⟦
          org ↦ ⟦
            eolang ↦ ⟦
              prints-itself ↦ ⟦
                φ ↦ Φ̇.as-phi(
                  ξ
                ).length.gt(
                  0
                )
              ⟧,
              prints-itself-to-console ↦ ⟦
                x ↦ 42,
                φ ↦ Φ̇.io.stdout(
                  Φ̇.as-phi(
                    ξ
                  )
                )
              ⟧,
              λ ⤍ Package
            ⟧,
            λ ⤍ Package
          ⟧
        ⟧
      }
  - name: "Prints empty parentheses"
    input: |
      {⟦ m ↦ ⟦ x ↦ ⟦ ⟧ ⟧() ⟧}
    normalized: |
      {⟦ m ↦ ⟦ x ↦ ⟦ ⟧ ⟧() ⟧}
    prettified: |
      {
        ⟦
          m ↦ ⟦
            x ↦ ⟦⟧
          ⟧()
        ⟧
      }
  - name: "Prints abstraction sugar"
    input: |
      {⟦
        foo ↦ Φ.bar(
          α0 ↦ "hello",
          α1 ↦ "jeff",
          α2 ↦ 42
        )
      ⟧}
    normalized: |
      {⟦
        foo ↦ Φ.bar(
          "hello",
          "jeff",
          42
        )
      ⟧}
    prettified: |
      {
        ⟦
          foo ↦ Φ.bar(
            "hello",
            "jeff",
            42
          )
        ⟧
      }
  - name: "Prints floats"
    input: |
      {⟦ m ↦ -42.0 ⟧}
    normalized: |
      {⟦ m ↦ -42.0 ⟧}
    prettified: |
      {
        ⟦
          m ↦ -42.0
        ⟧
      }