TriangularTest
A test component that integrates a triangular signal over time.
This component connects a triangular wave generator to an integrator to demonstrate signal processing and integration. The triangular signal has amplitude 1, frequency 2 Hz, starts at time 0.5 seconds with an offset of 0.7. The output of the integrator represents the accumulated area under the triangular wave over time. The test case validates the behavior by checking both the initial signal value and the final integrated value after 5 seconds of simulation.
Usage
TriangularTest()
Behavior
Source
dyad
# A test component that integrates a triangular signal over time.
#
# This component connects a triangular wave generator to an integrator to demonstrate signal
# processing and integration. The triangular signal has amplitude 1, frequency 2 Hz, starts at
# time 0.5 seconds with an offset of 0.7. The output of the integrator represents the accumulated
# area under the triangular wave over time. The test case validates the behavior by checking both
# the initial signal value and the final integrated value after 5 seconds of simulation.
test component TriangularTest
# Integrator component that accumulates the input signal
integrator = Integrator()
# Triangular waveform generator with configurable parameters
signal = Triangular(amplitude=1, frequency=2, start_time=0.5, offset=0.7)
relations
# Connects the triangular signal output to the integrator input
connect(signal.y, integrator.u)
metadata {
"Dyad": {
"tests": {
"case1": {
"stop": 5,
"atol": {"integrator.x": 0.001},
"expect": {
"initial": {"signal.y": 0.7},
"signals": ["signal.y", "integrator.x"],
"final": {"signal.y": 0, "integrator.x": 0.37664775}
}
}
}
}
}
end
Flattened Source
dyad
# A test component that integrates a triangular signal over time.
#
# This component connects a triangular wave generator to an integrator to demonstrate signal
# processing and integration. The triangular signal has amplitude 1, frequency 2 Hz, starts at
# time 0.5 seconds with an offset of 0.7. The output of the integrator represents the accumulated
# area under the triangular wave over time. The test case validates the behavior by checking both
# the initial signal value and the final integrated value after 5 seconds of simulation.
test component TriangularTest
# Integrator component that accumulates the input signal
integrator = Integrator()
# Triangular waveform generator with configurable parameters
signal = Triangular(amplitude=1, frequency=2, start_time=0.5, offset=0.7)
relations
# Connects the triangular signal output to the integrator input
connect(signal.y, integrator.u)
metadata {
"Dyad": {
"tests": {
"case1": {
"stop": 5,
"atol": {"integrator.x": 0.001},
"expect": {
"initial": {"signal.y": 0.7},
"signals": ["signal.y", "integrator.x"],
"final": {"signal.y": 0, "integrator.x": 0.37664775}
}
}
}
}
}
end
Test Cases
Test Case case1
julia
plt
julia
plt
Related
Examples
Experiments
Analyses
Tests