Feature: A sound player appliance
Scenario Outline: The Sound Player react to not forced events from a not forced state
Examples:
presence |
sleepiness |
elapsed |
from_state |
event |
to_state |
---|---|---|---|---|---|
On |
Awake |
On |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
On |
Awake |
On |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
On |
Awake |
On |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.off |
On |
Awake |
On |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
On |
Awake |
On |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
On |
Awake |
On |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
On |
Awake |
On |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
On |
Awake |
Off |
sound.player.state.fade_in |
event.presence.Event.On |
sound.player.state.fade_in |
On |
Awake |
Off |
sound.player.state.fade_in |
event.presence.Event.Off |
sound.player.state.off |
On |
Awake |
Off |
sound.player.state.fade_in |
event.sleepiness.Event.Awake |
sound.player.state.fade_in |
On |
Awake |
Off |
sound.player.state.fade_in |
event.sleepiness.Event.Sleepy |
sound.player.state.fade_in |
On |
Awake |
Off |
sound.player.state.fade_in |
event.sleepiness.Event.Asleep |
sound.player.state.fade_in |
On |
Awake |
Off |
sound.player.state.fade_in |
event.elapsed.Event.On |
sound.player.state.off |
On |
Awake |
Off |
sound.player.state.fade_in |
event.elapsed.Event.Off |
sound.player.state.fade_in |
On |
Asleep |
On |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
On |
Asleep |
On |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
On |
Asleep |
On |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.off |
On |
Asleep |
On |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
On |
Asleep |
On |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
On |
Asleep |
On |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
On |
Asleep |
On |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
On |
Asleep |
Off |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
On |
Asleep |
Off |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
On |
Asleep |
Off |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.fade_in |
On |
Asleep |
Off |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
On |
Asleep |
Off |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
On |
Asleep |
Off |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
On |
Asleep |
Off |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
On |
Sleepy |
On |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
On |
Sleepy |
On |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
On |
Sleepy |
On |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.off |
On |
Sleepy |
On |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
On |
Sleepy |
On |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
On |
Sleepy |
On |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
On |
Sleepy |
On |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
On |
Sleepy |
Off |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
On |
Sleepy |
Off |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
On |
Sleepy |
Off |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.fade_in |
On |
Sleepy |
Off |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
On |
Sleepy |
Off |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
On |
Sleepy |
Off |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
On |
Sleepy |
Off |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
Off |
Awake |
On |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
Off |
Awake |
On |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
Off |
Awake |
On |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.off |
Off |
Awake |
On |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
Off |
Awake |
On |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
Off |
Awake |
On |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
Off |
Awake |
On |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
Off |
Awake |
Off |
sound.player.state.fade_in |
event.presence.Event.On |
sound.player.state.fade_in |
Off |
Awake |
Off |
sound.player.state.fade_in |
event.presence.Event.Off |
sound.player.state.off |
Off |
Awake |
Off |
sound.player.state.fade_in |
event.sleepiness.Event.Awake |
sound.player.state.fade_in |
Off |
Awake |
Off |
sound.player.state.fade_in |
event.sleepiness.Event.Sleepy |
sound.player.state.fade_in |
Off |
Awake |
Off |
sound.player.state.fade_in |
event.sleepiness.Event.Asleep |
sound.player.state.fade_in |
Off |
Awake |
Off |
sound.player.state.fade_in |
event.elapsed.Event.On |
sound.player.state.off |
Off |
Awake |
Off |
sound.player.state.fade_in |
event.elapsed.Event.Off |
sound.player.state.fade_in |
Off |
Asleep |
On |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
Off |
Asleep |
On |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
Off |
Asleep |
On |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.off |
Off |
Asleep |
On |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
Off |
Asleep |
On |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
Off |
Asleep |
On |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
Off |
Asleep |
On |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
Off |
Asleep |
Off |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
Off |
Asleep |
Off |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
Off |
Asleep |
Off |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.fade_in |
Off |
Asleep |
Off |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
Off |
Asleep |
Off |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
Off |
Asleep |
Off |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
Off |
Asleep |
Off |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
Off |
Sleepy |
On |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
Off |
Sleepy |
On |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
Off |
Sleepy |
On |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.off |
Off |
Sleepy |
On |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
Off |
Sleepy |
On |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
Off |
Sleepy |
On |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
Off |
Sleepy |
On |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
Off |
Sleepy |
Off |
sound.player.state.off |
event.presence.Event.On |
sound.player.state.off |
Off |
Sleepy |
Off |
sound.player.state.off |
event.presence.Event.Off |
sound.player.state.off |
Off |
Sleepy |
Off |
sound.player.state.off |
event.sleepiness.Event.Awake |
sound.player.state.fade_in |
Off |
Sleepy |
Off |
sound.player.state.off |
event.sleepiness.Event.Sleepy |
sound.player.state.off |
Off |
Sleepy |
Off |
sound.player.state.off |
event.sleepiness.Event.Asleep |
sound.player.state.off |
Off |
Sleepy |
Off |
sound.player.state.off |
event.elapsed.Event.On |
sound.player.state.off |
Off |
Sleepy |
Off |
sound.player.state.off |
event.elapsed.Event.Off |
sound.player.state.off |
Scenario Outline: The Sound Player react to forced events from a not forced state
Examples:
presence |
sleepiness |
elapsed |
from_state |
event |
to_state |
---|---|---|---|---|---|
On |
Awake |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
On |
Awake |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
On |
Awake |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
On |
Awake |
Off |
sound.player.state.fade_in |
appliance.sound.player.event.forced.Event.On |
sound.player.state.fade_in |
On |
Awake |
Off |
sound.player.state.fade_in |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.forced.off |
On |
Awake |
Off |
sound.player.state.fade_in |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.fade_in |
On |
Asleep |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
On |
Asleep |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
On |
Asleep |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
On |
Asleep |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
On |
Asleep |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
On |
Asleep |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
On |
Sleepy |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
On |
Sleepy |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
On |
Sleepy |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
On |
Sleepy |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
On |
Sleepy |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
On |
Sleepy |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
Off |
Awake |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
Off |
Awake |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
Off |
Awake |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
Off |
Awake |
Off |
sound.player.state.fade_in |
appliance.sound.player.event.forced.Event.On |
sound.player.state.fade_in |
Off |
Awake |
Off |
sound.player.state.fade_in |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.forced.off |
Off |
Awake |
Off |
sound.player.state.fade_in |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.fade_in |
Off |
Asleep |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
Off |
Asleep |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
Off |
Asleep |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
Off |
Asleep |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
Off |
Asleep |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
Off |
Asleep |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
Off |
Sleepy |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
Off |
Sleepy |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
Off |
Sleepy |
On |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
Off |
Sleepy |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
Off |
Sleepy |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
Off |
Sleepy |
Off |
sound.player.state.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
Scenario Outline: The Sound Player react to not forced events from a On forced state, and will be reset by a
Presence Off event
Examples:
presence |
from_state |
event |
to_state |
---|---|---|---|
On |
sound.player.state.forced.on |
event.presence.Event.On |
sound.player.state.forced.on |
On |
sound.player.state.forced.on |
event.presence.Event.Off |
sound.player.state.off |
On |
sound.player.state.forced.on |
event.sleepiness.Event.Awake |
sound.player.state.forced.on |
On |
sound.player.state.forced.on |
event.sleepiness.Event.Sleepy |
sound.player.state.forced.on |
On |
sound.player.state.forced.on |
event.sleepiness.Event.Asleep |
sound.player.state.fade_out |
On |
sound.player.state.forced.on |
event.elapsed.Event.On |
sound.player.state.forced.on |
On |
sound.player.state.forced.on |
event.elapsed.Event.Off |
sound.player.state.forced.on |
Off |
sound.player.state.forced.on |
event.presence.Event.On |
sound.player.state.forced.on |
Off |
sound.player.state.forced.on |
event.presence.Event.Off |
sound.player.state.off |
Off |
sound.player.state.forced.on |
event.sleepiness.Event.Awake |
sound.player.state.forced.on |
Off |
sound.player.state.forced.on |
event.sleepiness.Event.Sleepy |
sound.player.state.forced.on |
Off |
sound.player.state.forced.on |
event.sleepiness.Event.Asleep |
sound.player.state.forced.on |
Off |
sound.player.state.forced.on |
event.elapsed.Event.On |
sound.player.state.forced.on |
Off |
sound.player.state.forced.on |
event.elapsed.Event.Off |
sound.player.state.forced.on |
Scenario Outline: The Sound Player react to forced events from a On forced state
Examples:
from_state |
event |
to_state |
---|---|---|
sound.player.state.forced.on |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
sound.player.state.forced.on |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.on |
Scenario Outline: The Sound Player react to not forced events from a circadian rhythm forced state, and will be reset by a
Presence Off event
Examples:
presence |
from_state |
event |
to_state |
---|---|---|---|
On |
sound.player.state.forced.circadian_rhythm |
event.presence.Event.On |
sound.player.state.forced.circadian_rhythm |
On |
sound.player.state.forced.circadian_rhythm |
event.presence.Event.Off |
sound.player.state.off |
On |
sound.player.state.forced.circadian_rhythm |
event.sleepiness.Event.Awake |
sound.player.state.forced.circadian_rhythm |
On |
sound.player.state.forced.circadian_rhythm |
event.sleepiness.Event.Sleepy |
sound.player.state.forced.circadian_rhythm |
On |
sound.player.state.forced.circadian_rhythm |
event.sleepiness.Event.Asleep |
sound.player.state.fade_out |
On |
sound.player.state.forced.circadian_rhythm |
event.elapsed.Event.On |
sound.player.state.forced.circadian_rhythm |
On |
sound.player.state.forced.circadian_rhythm |
event.elapsed.Event.Off |
sound.player.state.forced.circadian_rhythm |
Off |
sound.player.state.forced.circadian_rhythm |
event.presence.Event.On |
sound.player.state.forced.circadian_rhythm |
Off |
sound.player.state.forced.circadian_rhythm |
event.presence.Event.Off |
sound.player.state.off |
Off |
sound.player.state.forced.circadian_rhythm |
event.sleepiness.Event.Awake |
sound.player.state.forced.circadian_rhythm |
Off |
sound.player.state.forced.circadian_rhythm |
event.sleepiness.Event.Sleepy |
sound.player.state.forced.circadian_rhythm |
Off |
sound.player.state.forced.circadian_rhythm |
event.sleepiness.Event.Asleep |
sound.player.state.forced.circadian_rhythm |
Off |
sound.player.state.forced.circadian_rhythm |
event.elapsed.Event.On |
sound.player.state.forced.circadian_rhythm |
Off |
sound.player.state.forced.circadian_rhythm |
event.elapsed.Event.Off |
sound.player.state.forced.circadian_rhythm |
Scenario Outline: The Sound Player react to forced events from a Circadian Rhythm forced state
Examples:
from_state |
event |
to_state |
---|---|---|
sound.player.state.forced.circadian_rhythm |
appliance.sound.player.event.forced.Event.Off |
sound.player.state.off |
sound.player.state.forced.circadian_rhythm |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.circadian_rhythm |
Scenario Outline: The Sound Player react to not forced events from an off forced state, and will be reset by a
Presence Off event
Examples:
from_state |
event |
to_state |
---|---|---|
sound.player.state.forced.off |
event.presence.Event.On |
sound.player.state.forced.off |
sound.player.state.forced.off |
event.presence.Event.Off |
sound.player.state.off |
sound.player.state.forced.off |
event.sleepiness.Event.Awake |
sound.player.state.forced.off |
sound.player.state.forced.off |
event.sleepiness.Event.Sleepy |
sound.player.state.forced.off |
sound.player.state.forced.off |
event.sleepiness.Event.Asleep |
sound.player.state.forced.off |
sound.player.state.forced.off |
event.elapsed.Event.On |
sound.player.state.forced.off |
sound.player.state.forced.off |
event.elapsed.Event.Off |
sound.player.state.forced.off |
Scenario Outline: The Sound Player react to forced events from a Circadian Rhythm forced state
Examples:
from_state |
event |
to_state |
---|---|---|
sound.player.state.forced.off |
appliance.sound.player.event.forced.Event.CircadianRhythm |
sound.player.state.forced.circadian_rhythm |
sound.player.state.forced.off |
appliance.sound.player.event.forced.Event.On |
sound.player.state.forced.on |
Scenario Outline: The Sound Player shows its property: is_on
Examples:
sleepiness1 |
forced |
sleepiness2 |
state |
response |
---|---|---|---|---|
Sleepy |
Not |
Asleep |
sound.player.state.off |
False |
Sleepy |
Not |
Awake |
sound.player.state.fade_in |
True |
Sleepy |
On |
Asleep |
sound.player.state.fade_out |
True |
Sleepy |
On |
Sleepy |
sound.player.state.forced.on |
True |
Sleepy |
CircadianRhythm |
Sleepy |
sound.player.state.forced.circadian_rhythm |
True |
Awake |
Off |
Sleepy |
sound.player.state.forced.off |
False |
Scenario Outline: The Sound Player shows its property: is_circadian_rhythm
Examples:
sleepiness1 |
forced |
sleepiness2 |
state |
response |
---|---|---|---|---|
Sleepy |
Not |
Asleep |
sound.player.state.off |
False |
Sleepy |
Not |
Awake |
sound.player.state.fade_in |
False |
Sleepy |
On |
Asleep |
sound.player.state.fade_out |
False |
Sleepy |
On |
Sleepy |
sound.player.state.forced.on |
False |
Sleepy |
CircadianRhythm |
Sleepy |
sound.player.state.forced.circadian_rhythm |
True |
Awake |
Off |
Sleepy |
sound.player.state.forced.off |
False |
Scenario Outline: The Sound Player shows its property: is_fading
Examples:
sleepiness1 |
forced |
sleepiness2 |
state |
response |
---|---|---|---|---|
Sleepy |
Not |
Asleep |
sound.player.state.off |
False |
Sleepy |
Not |
Awake |
sound.player.state.fade_in |
True |
Sleepy |
On |
Asleep |
sound.player.state.fade_out |
True |
Sleepy |
On |
Sleepy |
sound.player.state.forced.on |
False |
Sleepy |
CircadianRhythm |
Sleepy |
sound.player.state.forced.circadian_rhythm |
False |
Awake |
Off |
Sleepy |
sound.player.state.forced.off |
False |
Scenario Outline: The Sound Player shows its property: volume
Examples:
sleepiness1 |
forced |
sleepiness2 |
state |
response |
---|---|---|---|---|
Asleep |
Not |
Asleep |
sound.player.state.off |
70 |
Sleepy |
Not |
Awake |
sound.player.state.fade_in |
50 |
Sleepy |
On |
Asleep |
sound.player.state.fade_out |
80 |
Sleepy |
On |
Sleepy |
sound.player.state.forced.on |
60 |
Asleep |
CircadianRhythm |
Sleepy |
sound.player.state.forced.circadian_rhythm |
70 |
Awake |
Off |
Sleepy |
sound.player.state.forced.off |
70 |
Scenario Outline: The Sound Player shows its property: playlist
Examples:
sleepiness1 |
forced |
sleepiness2 |
state |
response |
---|---|---|---|---|
Asleep |
Not |
Asleep |
sound.player.state.off |
Playlist |
Sleepy |
Not |
Awake |
sound.player.state.fade_in |
PlaylistFadeIn |
Sleepy |
On |
Asleep |
sound.player.state.fade_out |
PlaylistFadeOut |
Sleepy |
On |
Sleepy |
sound.player.state.forced.on |
Playlist |
Asleep |
CircadianRhythm |
Sleepy |
sound.player.state.forced.circadian_rhythm |
PlaylistB |
Awake |
Off |
Sleepy |
sound.player.state.forced.off |
Playlist |