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