# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: 25.3.18. [TC-CC-7.1] Enhanced MoveToHue functionality with server as DUT

PICS:
    - CC.S

config:
    nodeId: 0x12344321
    cluster: "Color Control"
    endpoint: 1
    timeout: 200

tests:
    - label: "Wait for the commissioned device to be retrieved"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

    - label: "Step 0a: TH writes 0 to the Options attribute"
      PICS: CC.S.F01 && CC.S.A000f
      command: "writeAttribute"
      attribute: "Options"
      arguments:
          value: 0

    - label: "Step 0b: TH sends On command to DUT"
      PICS: OO.S.C01.Rsp
      cluster: "On/Off"
      command: "On"

    - label:
          "Step 2a: TH sends EnhancedMoveToHue command to DUT with
          EnhancedHue=6000, Direction=0x00 (shortest distance) and
          TransitionTime=0 (immediately)"
      PICS: CC.S.F01 && CC.S.C40.Rsp
      command: "EnhancedMoveToHue"
      arguments:
          values:
              - name: "EnhancedHue"
                value: 6000
              - name: "Direction"
                value: 0
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label: "Wait 100ms"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 100

    - label:
          "Step 2b: TH sends EnhancedMoveToHue command to DUT with
          EnhancedHue=12000, Direction=0x00 (shortest distance) and
          TransitionTime=300 (30s)."
      PICS: CC.S.F01 && CC.S.C40.Rsp
      command: "EnhancedMoveToHue"
      arguments:
          values:
              - name: "EnhancedHue"
                value: 12000
              - name: "Direction"
                value: 0
              - name: "TransitionTime"
                value: 300
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 2c: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 6800
              maxValue: 9200

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 2d: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 8500
              maxValue: 11500

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 2e: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 10200
              maxValue: 13800

    - label: "Wait 5s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 5000

    - label: "Step 2f: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 10200
              maxValue: 13800

    - label:
          "Step 3a: TH sends EnhancedMoveToHue command to DUT with
          EnhancedHue=6000, Direction=0x00 (shortest distance) and
          TransitionTime=0 (immediately)"
      PICS: CC.S.F01 && CC.S.C40.Rsp
      command: "EnhancedMoveToHue"
      arguments:
          values:
              - name: "EnhancedHue"
                value: 6000
              - name: "Direction"
                value: 0
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label: "Wait 100ms"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 100

    - label:
          "Step 3b: TH sends EnhancedMoveToHue command to DUT with
          EnhancedHue=54000, Direction=0x01 (longest distance) and
          TransitionTime=300 (30s)"
      PICS: CC.S.F01 && CC.S.C40.Rsp
      command: "EnhancedMoveToHue"
      arguments:
          values:
              - name: "EnhancedHue"
                value: 54000
              - name: "Direction"
                value: 1
              - name: "TransitionTime"
                value: 300
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 3c: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 18700
              maxValue: 25300

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 3d: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 34700
              maxValue: 41300

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 3e: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 50700
              maxValue: 62100

    - label: "Wait 5s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 5000

    - label: "Step 3f: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 50700
              maxValue: 62100

    - label:
          "Step 4a: TH sends EnhancedMoveToHue command to DUT with
          EnhancedHue=6000, Direction=0x00 (shortest distance) and
          TransitionTime=0 (immediately)"
      PICS: CC.S.F01 && CC.S.C40.Rsp
      command: "EnhancedMoveToHue"
      arguments:
          values:
              - name: "EnhancedHue"
                value: 6000
              - name: "Direction"
                value: 0
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label: "Wait 100ms"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 100

    - label:
          "Step 4b: TH sends EnhancedMoveToHue command to DUT with
          EnhancedHue=12000, Direction=0x02 (up) and TransitionTime=300 (30s)"
      PICS: CC.S.F01 && CC.S.C40.Rsp
      command: "EnhancedMoveToHue"
      arguments:
          values:
              - name: "EnhancedHue"
                value: 12000
              - name: "Direction"
                value: 2
              - name: "TransitionTime"
                value: 300
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 4c: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 6800
              maxValue: 9200

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 4d: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 8500
              maxValue: 11500

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 4e: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 10200
              maxValue: 13800

    - label: "Wait 5s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 5000

    - label: "Step 4f: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 10200
              maxValue: 13800

    - label:
          "Step 5a: TH sends EnhancedMoveToHue command to DUT with
          EnhancedHue=12000, Direction=0x00 (shortest distance) and
          TransitionTime=0 (immediately)"
      PICS: CC.S.F01 && CC.S.C40.Rsp
      command: "EnhancedMoveToHue"
      arguments:
          values:
              - name: "EnhancedHue"
                value: 12000
              - name: "Direction"
                value: 0
              - name: "TransitionTime"
                value: 0
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label: "Wait 100ms"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 100

    - label:
          "Step 5b: TH sends EnhancedMoveToHue command to DUT with
          EnhancedHue=6000, Direction=0x03 (down) and TransitionTime=300 (30s)."
      PICS: CC.S.F01 && CC.S.C40.Rsp
      command: "EnhancedMoveToHue"
      arguments:
          values:
              - name: "EnhancedHue"
                value: 6000
              - name: "Direction"
                value: 3
              - name: "TransitionTime"
                value: 300
              - name: "OptionsMask"
                value: 0
              - name: "OptionsOverride"
                value: 0

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 5c: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 8500
              maxValue: 11500

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 5d: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 6800
              maxValue: 9200

    - label: "Wait 10s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    - label: "Step 5e: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 5100
              maxValue: 6900

    - label: "Wait 5s"
      PICS: CC.S.F01
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 5000

    - label: "Step 5f: TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              minValue: 5100
              maxValue: 6900

    - label: "Step 6a: TH reads ColorMode attribute from DUT"
      PICS: CC.S.F01 && CC.S.A0008
      command: "readAttribute"
      attribute: "ColorMode"
      response:
          value: 0
          constraints:
              minValue: 0
              maxValue: 2

    - label: "Step 6b: TH reads EnhancedColorMode attribute from DUT"
      PICS: CC.S.F01 && CC.S.A4001
      command: "readAttribute"
      attribute: "EnhancedColorMode"
      response:
          value: 3
          constraints:
              minValue: 0
              maxValue: 3

    - label: "Turn Off light that we turned on"
      PICS: OO.S.C00.Rsp
      cluster: "On/Off"
      command: "Off"

    - label: "Check on/off attribute value is false after off command"
      cluster: "On/Off"
      command: "readAttribute"
      attribute: "OnOff"
      PICS: OO.S.A0000
      response:
          value: 0
