# 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:
    Window Covering [TC-WNCV-3.1] UpOrOpen Command & Report Verification with
    server as DUT

PICS:
    - WNCV.S

# TC-WNCV tests featuremap conditional dependencies -> use PICS

config:
    nodeId: 0x12344321
    cluster: "Window Covering"
    endpoint: 1

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

    ################ Position Init Phase #############
    ### Step 1x -> Initialize the Covering position before any testing
    ### MANDATORY Init Commands
    - label:
          "1a: TH sends DownOrClose command to preposition the DUT in the
          opposite direction"
      PICS: WNCV.S.C01.Rsp
      command: "DownOrClose"

    - label: "1b: TH Waits for 10 seconds movement(s) on the device"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 10000

    ###
    ### Mandatory Depends on the FeatureMap
    - label:
          "1c: If (PA & LF) TH reads CurrentPositionLiftPercent100ths attribute
          from DUT"
      command: "readAttribute"
      attribute: "CurrentPositionLiftPercent100ths"
      PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000e
      response:
          constraints:
              type: Percent100ths
              minValue: 1
              maxValue: 10000

    ### Optional Depends on the FeatureMap
    - label:
          "1d: If (PA & LF) TH reads CurrentPositionLiftPercentage optional
          attribute from DUT"
      command: "readAttribute"
      attribute: "CurrentPositionLiftPercentage"
      PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A0008
      response:
          constraints:
              type: Percent
              minValue: 1
              maxValue: 100

    ### Mandatory Depends on the FeatureMap
    - label:
          "1e: If (PA & TL) TH reads CurrentPositionTiltPercent100ths attribute
          from DUT"
      command: "readAttribute"
      attribute: "CurrentPositionTiltPercent100ths"
      PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000f
      response:
          constraints:
              type: Percent100ths
              minValue: 1
              maxValue: 10000

    ### Optional Depends on the FeatureMap
    - label:
          "1f: If (PA & TL) TH reads CurrentPositionTiltPercentage optional
          attribute from DUT"
      command: "readAttribute"
      attribute: "CurrentPositionTiltPercentage"
      PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A0009
      response:
          constraints:
              type: Percent
              minValue: 1
              maxValue: 100

    ######## UpOrOpen Command #######
    ### Step 2x -> Check UpOrOpen Fast effects

    - label: "2: Subscribe to DUT reports on OperationalStatus attribute"
      command: "subscribeAttribute"
      attribute: "OperationalStatus"
      minInterval: 4
      maxInterval: 5
      response:
          constraints:
              type: bitmap8

    ### MANDATORY Command
    - label: "2a: TH sends UpOrOpen command to DUT"
      command: "UpOrOpen"
      PICS: WNCV.S.C00.Rsp

    ### Depending on the DUT specs we might prefer a arguments here
    - label: "2b: DUT updates its attributes"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 100

    ### Mandatory Depends on the FeatureMap
    - label:
          "2c: If (PA & LF) TH reads TargetPositionLiftPercent100ths attribute
          from DUT"
      command: "readAttribute"
      attribute: "TargetPositionLiftPercent100ths"
      PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000b
      response:
          value: 0

    ### Mandatory Depends on the FeatureMap
    - label:
          "2d: If (PA & TL) TH reads TargetPositionTiltPercent100ths attribute
          from DUT"
      command: "readAttribute"
      attribute: "TargetPositionTiltPercent100ths"
      PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000c
      response:
          value: 0

    - label: "2e: TH leave the device moving for 2 seconds"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 2000

    ######## UpOrOpen Reports #######
    ### Step 3x -> Check UpOrOpen Mid term effects
    ### Depends on the FeatureMap
    # The value of bit 0..1 must be 01b & if (LF) value of bit 2..3 must be 01b else 00b & if (TL) value of bit 4..5 must be 01b else 00b
    # Only 3 possibilities are possible here : 05h =  5, 11h = 17 or 15h = 21 then check a range for simplicity [5  - 21]
    - label:
          "3a1: Verify DUT reports OperationalStatus attribute to TH after a
          UpOrOpen"
      command: "waitForReport"
      attribute: "OperationalStatus"
      PICS: WNCV.S.A000a
      response:
          constraints:
              type: bitmap8
              minValue: 5
              maxValue: 21

    ### Depending on the DUT specs we might prefer a arguments here
    - label: "3a2: DUT updates its attributes"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 2000

    ### Mandatory Depends on the FeatureMap
    - label:
          "3b: If (PA & LF) TH reads CurrentPositionLiftPercent100ths attribute
          from DUT"
      command: "readAttribute"
      attribute: "CurrentPositionLiftPercent100ths"
      PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000e
      response:
          constraints:
              type: Percent100ths
              minValue: 0
              maxValue: 9999

    ### Optional Depends on the FeatureMap
    - label:
          "3c: If (PA & LF) TH reads CurrentPositionLiftPercentage optional
          attribute from DUT"
      command: "readAttribute"
      attribute: "CurrentPositionLiftPercentage"
      PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A0008
      response:
          constraints:
              type: Percent
              minValue: 0
              maxValue: 99

    ### Mandatory Depends on the FeatureMap
    - label:
          "3d: If (PA & TL) TH reads CurrentPositionTiltPercent100ths attribute
          from DUT"
      command: "readAttribute"
      attribute: "CurrentPositionTiltPercent100ths"
      PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000f
      response:
          constraints:
              type: Percent100ths
              minValue: 0
              maxValue: 9999

    ### Optional Depends on the FeatureMap
    - label:
          "3e: If (PA & LF) TH reads CurrentPositionTiltPercentage optional
          attribute from DUT"
      command: "readAttribute"
      attribute: "CurrentPositionTiltPercentage"
      PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A0009
      response:
          constraints:
              type: Percent
              minValue: 0
              maxValue: 99

    ######## STOP #######
    ### Step 4x -> Check StopMotion fast effects
    ### MANDATORY Command
    - label: "4a: TH sends a StopMotion command to DUT"
      command: "StopMotion"
      PICS: WNCV.S.C02.Rsp

    - label:
          "4b: TH waits for 3 seconds the end of inertial movement(s) on the
          device"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 3000

    ### Must Be ZERO
    # The value of bit 0..1 must be 00b & if (LF) value of bit 2..3 must be 00b & if (TL) value of bit 4..5 must be 00b
    - label:
          "4c: Verify DUT update OperationalStatus attribute to TH after a
          StopMotion"
      command: "readAttribute"
      attribute: "OperationalStatus"
      PICS: WNCV.S.A000a
      response:
          value: 0

    ### Step 5x -> Check Stop Motion longer period effect
    - label: "5a: TH waits for x seconds attributes update on the device"
      cluster: "DelayCommands"
      command: "WaitForMs"
      arguments:
          values:
              - name: "ms"
                value: 1000

    ### Mandatory Depends on the FeatureMap shall be tested as equals CurrentPositionLiftPercent100ths
    - label:
          "5b: If (PA & LF) TH reads TargetPositionLiftPercent100ths attribute
          from DUT"
      command: "readAttribute"
      attribute: "TargetPositionLiftPercent100ths"
      PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000b
      response:
          constraints:
              type: Percent100ths
              minValue: 0
              maxValue: 9999

    ### Mandatory Depends on the FeatureMap shall be tested as equals CurrentPositionTiltPercent100ths
    - label:
          "5c: If (PA & TL) TH reads TargetPositionTiltPercent100ths attribute
          from DUT"
      command: "readAttribute"
      attribute: "TargetPositionTiltPercent100ths"
      PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000c
      response:
          constraints:
              type: Percent100ths
              minValue: 0
              maxValue: 9999
