# 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.

# TODO : WindowCovering Test WNCV_2_1 add/complete some Conditional test using the FeatureMap (dynamics Mandatory and Optional attributes)

name: Window Covering [TC-WNCV-2.1] Attributes with server as DUT

PICS:
    - WNCV.S

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

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

    ### MANDATORY Attributes
    ### 1 MANDATORY Attributes
    ### Attribute[  0]: Type  =======================================
    - label: "1a: read the RO mandatory attribute default: Type"
      command: "readAttribute"
      attribute: "Type"
      PICS: WNCV.S.A0000
      response:
          constraints:
              type: enum8
              minValue: 0
              maxValue: 9

    ### Attribute[  7]: ConfigStatus  ===============================
    - label: "1b: read the RO mandatory attribute default: ConfigStatus"
      command: "readAttribute"
      attribute: "ConfigStatus"
      PICS: WNCV.S.A0007
      response:
          constraints:
              type: bitmap8
              minValue: 0
              maxValue: 127

    ### Attribute[ 10]: OperationalStatus  ==========================
    - label: "1c: read the RO mandatory attribute default: OperationalStatus"
      command: "readAttribute"
      attribute: "OperationalStatus"
      PICS: WNCV.S.A000a
      response:
          constraints:
              type: bitmap8
              minValue: 0
              maxValue: 127

    ### Attribute[ 13]: EndProductType ==============================
    - label: "1d: read the RO mandatory attribute default: EndProductType"
      command: "readAttribute"
      attribute: "EndProductType"
      PICS: WNCV.S.A000d
      response:
          constraints:
              type: enum8
              minValue: 0
              maxValue: 23

    ### Attribute[ 23]: Mode ========================================
    - label: "1e: read the RW mandatory attribute default: Mode"
      command: "readAttribute"
      attribute: "Mode"
      PICS: WNCV.S.A0017
      response:
          constraints:
              type: bitmap8
              minValue: 0
              maxValue: 15

    - label: "1f: write a value into the RW mandatory attribute:: Mode"
      command: "writeAttribute"
      attribute: "Mode"
      PICS: WNCV.S.A0017
      arguments:
          value: 0

    ### 2 CONDITIONALLY MANDATORY Attributes
    ### Attribute[ 11]: TargetPositionLiftPercent100ths  ====================
    - label:
          "2a: read the RO optional attribute default:
          TargetPositionLiftPercent100ths"
      command: "readAttribute"
      attribute: "TargetPositionLiftPercent100ths"
      PICS: WNCV.S.A000b
      response:
          constraints:
              type: Percent100ths
              minValue: 0
              maxValue: 10000

    ### Attribute[ 12]: TargetPositionTiltPercent100ths  ====================
    - label:
          "2b: read the RO optional attribute default:
          TargetPositionTiltPercent100ths"
      command: "readAttribute"
      attribute: "TargetPositionTiltPercent100ths"
      PICS: WNCV.S.A000c
      response:
          constraints:
              type: Percent100ths
              minValue: 0
              maxValue: 10000

    ### Attribute[ 14]: CurrentPositionLiftPercent100ths  ====================
    - label:
          "2c: read the RO optional attribute default:
          CurrentPositionLiftPercent100ths"
      command: "readAttribute"
      attribute: "CurrentPositionLiftPercent100ths"
      PICS: WNCV.S.A000e
      response:
          constraints:
              type: Percent100ths
              minValue: 0
              maxValue: 10000

    ### Attribute[ 15]: CurrentPositionTiltPercent100ths  ====================
    - label:
          "2d: read the RO optional attribute default:
          CurrentPositionTiltPercent100ths"
      command: "readAttribute"
      attribute: "CurrentPositionTiltPercent100ths"
      PICS: WNCV.S.A000f
      response:
          constraints:
              type: Percent100ths
              minValue: 0
              maxValue: 10000

    ### Attribute[ 16]: InstalledOpenLimitLift  ====================
    - label:
          "2e: read the RO optional attribute default: InstalledOpenLimitLift"
      command: "readAttribute"
      attribute: "InstalledOpenLimitLift"
      PICS: WNCV.S.A0010
      response:
          saveAs: InstalledOpenLimitLift
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[ 17]: InstalledClosedLimitLift  ====================
    - label:
          "2f: read the RO optional attribute default: InstalledClosedLimitLift"
      command: "readAttribute"
      attribute: "InstalledClosedLimitLift"
      PICS: WNCV.S.A0011
      response:
          saveAs: InstalledClosedLimitLift
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[ 18]: InstalledOpenLimitTilt  ====================
    - label:
          "2g: read the RO optional attribute default: InstalledOpenLimitTilt"
      command: "readAttribute"
      attribute: "InstalledOpenLimitTilt"
      PICS: WNCV.S.A0012
      response:
          saveAs: InstalledOpenLimitTilt
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[ 19]: InstalledClosedLimitTilt  ====================
    - label:
          "2h: read the RO optional attribute default: InstalledClosedLimitTilt"
      command: "readAttribute"
      attribute: "InstalledClosedLimitTilt"
      PICS: WNCV.S.A0013
      response:
          saveAs: InstalledClosedLimitTilt
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### 3 CONDITIONALLY and PURELY OPTIONAL Attributes
    ### Attribute[ 26]: SafetyStatus  ==========================
    - label: "3a: read the RO mandatory attribute default: SafetyStatus"
      command: "readAttribute"
      attribute: "SafetyStatus"
      PICS: WNCV.S.A001a
      response:
          constraints:
              type: bitmap16
              minValue: 0
              maxValue: 2047

    ### Attribute[  1]: PhysicalClosedLimitLift  ====================
    - label:
          "3b: read the RO optional attribute default: PhysicalClosedLimitLift"
      command: "readAttribute"
      attribute: "PhysicalClosedLimitLift"
      PICS: WNCV.S.A0001
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[  2]: PhysicalClosedLimitTilt  ====================
    - label:
          "3c: read the RO optional attribute default: PhysicalClosedLimitTilt"
      command: "readAttribute"
      attribute: "PhysicalClosedLimitTilt"
      PICS: WNCV.S.A0002
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[  3]: CurrentPositionLift  ====================
    - label: "3d: read the RO optional attribute default: CurrentPositionLift"
      command: "readAttribute"
      attribute: "CurrentPositionLift"
      PICS: WNCV.S.A0003 && !WNCV.S.A0010 && !WNCV.S.A0011
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[  3]: CurrentPositionLift  ====================
    - label: "3d: read the RO optional attribute default: CurrentPositionLift"
      command: "readAttribute"
      attribute: "CurrentPositionLift"
      PICS: WNCV.S.A0003 && WNCV.S.A0010 && WNCV.S.A0011
      response:
          constraints:
              type: int16u
              minValue: InstalledOpenLimitLift
              maxValue: InstalledClosedLimitLift

    ### Attribute[  4]: CurrentPositionTilt  ====================
    - label: "3e: read the RO optional attribute default: CurrentPositionTilt"
      command: "readAttribute"
      attribute: "CurrentPositionTilt"
      PICS: WNCV.S.A0004 && !WNCV.S.A0012 && !WNCV.S.A0013
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[  4]: CurrentPositionTilt  ====================
    - label: "3e: read the RO optional attribute default: CurrentPositionTilt"
      command: "readAttribute"
      attribute: "CurrentPositionTilt"
      PICS: WNCV.S.A0004 && WNCV.S.A0012 && WNCV.S.A0013
      response:
          constraints:
              type: int16u
              minValue: InstalledOpenLimitTilt
              maxValue: InstalledClosedLimitTilt

    ### Attribute[  5]: NumberOfActuationsLift  ====================
    - label:
          "3f: read the RO optional attribute default: NumberOfActuationsLift"
      command: "readAttribute"
      attribute: "NumberOfActuationsLift"
      PICS: WNCV.S.A0005
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[  6]: NumberOfActuationsTilt  ====================
    - label:
          "3g: read the RO optional attribute default: NumberOfActuationsTilt"
      command: "readAttribute"
      attribute: "NumberOfActuationsTilt"
      PICS: WNCV.S.A0006
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    ### Attribute[  8]: CurrentPositionLiftPercentage  ====================
    - label:
          "3h: read the RO optional attribute default:
          CurrentPositionLiftPercentage"
      command: "readAttribute"
      attribute: "CurrentPositionLiftPercentage"
      PICS: WNCV.S.A0008
      response:
          constraints:
              type: Percent
              minValue: 0
              maxValue: 100

    ### Attribute[  9]: CurrentPositionTiltPercentage  ====================
    - label:
          "3i:read the RO optional attribute default:
          CurrentPositionTiltPercentage"
      command: "readAttribute"
      attribute: "CurrentPositionTiltPercentage"
      PICS: WNCV.S.A0009
      response:
          constraints:
              type: Percent
              minValue: 0
              maxValue: 100
    ###################################################
    # FYI Non Tested deprecated attributes
    # 20 VelocityLift
    # 21 AccelerationTimeLift
    # 22 DecelerationTimeLift
    # 24 IntermediateSetpointsLift
    # 25 IntermediateSetpointsTilt
    ###################################################
