Skip to content
LIBRARY
Sources.Tests.IntegerStep.md

Sources.Tests.IntegerStep

Test that validates the IntegerStep source.

An Integer step source is converted to Real via IntegerToReal so its step trajectory can be snapshotted. The step occurs at startTime = 0.5:

  • case1: offset = 1, height = 2, so toReal.y steps 1.0 -> 3.0.

  • case2: offset = 1, height = -3, so toReal.y steps 1.0 -> -2.0.

Usage

BlockComponents.Sources.Tests.IntegerStep()

Behavior

Source

dyad
"""
Test that validates the IntegerStep source.

An Integer step source is converted to Real via `IntegerToReal` so its step
trajectory can be snapshotted. The step occurs at `startTime = 0.5`:
- `case1`: `offset = 1`, `height = 2`, so `toReal.y` steps 1.0 -> 3.0.
- `case2`: `offset = 1`, `height = -3`, so `toReal.y` steps 1.0 -> -2.0.
"""
test component IntegerStep
  "Generates an Integer step signal"
  signal = BlockComponents.Sources.IntegerStep(startTime = 0.5, offset = 1, height = 2) {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 20, "y1": 20, "x2": 120, "y2": 120, "rot": 0}
      }
    }
  }
  "Converts the Integer output to Real"
  toReal = BlockComponents.Math.IntegerToReal() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 155, "y1": 20, "x2": 255, "y2": 120, "rot": 0}
      }
    }
  }
relations
  "Connects the Integer step output to the converter"
  connect(signal.y, toReal.u) {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}], "renderStyle": "standard"}}
metadata {
  "Dyad": {
    "icons": {"default": "dyad://BlockComponents/Example.svg"},
    "tests": {
      "case1": {"stop": 1, "expect": {"signals": ["toReal.y"]}},
      "case2": {
        "stop": 1,
        "params": {"signal.height": -3},
        "expect": {"signals": ["toReal.y"]}
      }
    }
  }
}
end
Flattened Source
dyad
"""
Test that validates the IntegerStep source.

An Integer step source is converted to Real via `IntegerToReal` so its step
trajectory can be snapshotted. The step occurs at `startTime = 0.5`:
- `case1`: `offset = 1`, `height = 2`, so `toReal.y` steps 1.0 -> 3.0.
- `case2`: `offset = 1`, `height = -3`, so `toReal.y` steps 1.0 -> -2.0.
"""
test component IntegerStep
  "Generates an Integer step signal"
  signal = BlockComponents.Sources.IntegerStep(startTime = 0.5, offset = 1, height = 2) {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 20, "y1": 20, "x2": 120, "y2": 120, "rot": 0}
      }
    }
  }
  "Converts the Integer output to Real"
  toReal = BlockComponents.Math.IntegerToReal() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 155, "y1": 20, "x2": 255, "y2": 120, "rot": 0}
      }
    }
  }
relations
  "Connects the Integer step output to the converter"
  connect(signal.y, toReal.u) {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}], "renderStyle": "standard"}}
metadata {
  "Dyad": {
    "icons": {"default": "dyad://BlockComponents/Example.svg"},
    "tests": {
      "case1": {"stop": 1, "expect": {"signals": ["toReal.y"]}},
      "case2": {
        "stop": 1,
        "params": {"signal.height": -3},
        "expect": {"signals": ["toReal.y"]}
      }
    }
  }
}
end


Test Cases

Test Case case1

julia
plt

Test Case case2

julia
plt