# 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: 27.2.1. [TC-CC-2.1] Attributes with server as DUT

PICS:
    - CC.S

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

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

    - label: "TH reads CurrentHue attribute from DUT"
      PICS: CC.S.A0000
      command: "readAttribute"
      attribute: "CurrentHue"
      response:
          constraints:
              type: int8u
              minValue: 0
              maxValue: 254

    - label: "TH reads CurrentSaturation attribute from DUT"
      PICS: CC.S.A0001
      command: "readAttribute"
      attribute: "CurrentSaturation"
      response:
          constraints:
              type: int8u
              minValue: 0
              maxValue: 254

    - label: "TH reads RemainingTime attribute from DUT"
      PICS: CC.S.A0002
      command: "readAttribute"
      attribute: "RemainingTime"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65534

    - label: "TH reads CurrentX attribute from DUT"
      PICS: CC.S.A0003
      command: "readAttribute"
      attribute: "CurrentX"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads CurrentY attribute from DUT"
      PICS: CC.S.A0004
      command: "readAttribute"
      attribute: "CurrentY"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads DriftCompensation attribute from DUT"
      PICS: CC.S.A0005
      command: "readAttribute"
      attribute: "DriftCompensation"
      response:
          constraints:
              type: enum8
              minValue: 0
              maxValue: 4

    - label: "TH reads CompensationText attribute from DUT"
      PICS: CC.S.A0005
      command: "readAttribute"
      attribute: "CompensationText"
      response:
          constraints:
              type: char_string
              maxLength: 254

    - label: "TH reads ColorTemperatureMireds attribute from DUT"
      PICS: CC.S.A0007
      command: "readAttribute"
      attribute: "ColorTemperature"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorMode attribute from DUT"
      PICS: CC.S.A0008
      command: "readAttribute"
      attribute: "ColorMode"
      response:
          constraints:
              type: enum8
              minValue: 0
              maxValue: 2

    - label: "TH reads Options attribute from DUT"
      PICS: CC.S.A000f
      command: "readAttribute"
      attribute: "Options"
      response:
          constraints:
              type: bitmap8
              minValue: 0
              maxValue: 4

    - label: "TH reads EnhancedCurrentHue attribute from DUT"
      PICS: CC.S.A4000
      command: "readAttribute"
      attribute: "EnhancedCurrentHue"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    - label: "TH reads EnhancedColorMode attribute from DUT"
      PICS: CC.S.F02
      command: "readAttribute"
      attribute: "EnhancedColorMode"
      response:
          constraints:
              type: enum8
              minValue: 0
              maxValue: 3

    - label: "TH reads ColorLoopActive attribute from DUT"
      PICS: CC.S.A4002
      command: "readAttribute"
      attribute: "ColorLoopActive"
      response:
          constraints:
              type: int8u
              minValue: 0
              maxValue: 254

    - label: "TH reads ColorLoopDirection attribute from DUT"
      PICS: CC.S.A4003
      command: "readAttribute"
      attribute: "ColorLoopDirection"
      response:
          constraints:
              type: int8u
              minValue: 0
              maxValue: 254

    - label: "TH reads ColorLoopTime attribute from DUT"
      PICS: CC.S.A4004
      command: "readAttribute"
      attribute: "ColorLoopTime"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65534

    - label: "TH reads ColorLoopStartEnhancedHue attribute from DUT"
      PICS: CC.S.A4005
      command: "readAttribute"
      attribute: "ColorLoopStartEnhancedHue"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    - label: "TH reads ColorLoopStoredEnhancedHue attribute from DUT"
      PICS: CC.S.A4006
      command: "readAttribute"
      attribute: "ColorLoopStoredEnhancedHue"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65535

    - label: "TH reads FeatureMap attribute from DUT"
      command: "readAttribute"
      attribute: "FeatureMap"
      response:
          saveAs: FeatureMapValue

    - label: "TH reads ColorCapabilities attribute from DUT"
      PICS: CC.S.A400a
      command: "readAttribute"
      attribute: "ColorCapabilities"
      response:
          value: FeatureMapValue
          constraints:
              type: bitmap16
              minValue: 0
              maxValue: 31

    - label: "TH reads ColorTempPhysicalMinMireds attribute from DUT"
      PICS: CC.S.A400b
      command: "readAttribute"
      attribute: "ColorTempPhysicalMinMireds"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorTempPhysicalMaxMireds attribute from DUT"
      PICS: CC.S.A400c
      command: "readAttribute"
      attribute: "ColorTempPhysicalMaxMireds"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads CoupleColorTempToLevelMinMireds attribute from DUT"
      PICS: CC.S.A400d
      command: "readAttribute"
      attribute: "CoupleColorTempToLevelMinMireds"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads StartUpColorTemperatureMireds attribute from DUT"
      PICS: CC.S.A4010
      command: "readAttribute"
      attribute: "StartUpColorTemperatureMireds"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    #Defined Primaries Information Attribute Set
    - label: "TH reads NumberOfPrimaries attribute from DUT"
      PICS: CC.S.A0010
      command: "readAttribute"
      attribute: "NumberOfPrimaries"
      response:
          constraints:
              type: int8u
              minValue: 0
              maxValue: 6

    - label:
          "TH reads Primary1X attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          1 or more"
      verification: |
          ./chip-tool colorcontrol read  primary1x 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0011 DataVersion: 540305990
          [1651483665.109697][3245:3250] CHIP:TOO:   primary 1 x: 0
          [1651483665.109797][3245:3250] CHIP:EM: Sending Standalone Ack for MessageCounter:12731123 on exchange 55053i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0011
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary1Y attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          1 or more"
      verification: |
          ./chip-tool colorcontrol read  primary1y 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0012 DataVersion: 540305990
          [1651483698.733322][3253:3259] CHIP:TOO:   primary 1 y: 0
          [1651483698.733420][3253:3259] CHIP:EM: Sending Standalone Ack for MessageCounter:7863787 on exchange 13103i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0012
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary1Intensity attribute from DUT and Verify that the DUT
          response contains an uint8 if NumberOfPrimaries is 1 or more"
      verification: |
          ./chip-tool colorcontrol read primary1intensity 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0013 DataVersion: 540305990
          [1651483742.297459][3263:3268] CHIP:TOO:   primary 1 intensity: 0
          [1651483742.297558][3263:3268] CHIP:EM: Sending Standalone Ack for MessageCounter:10210809 on exchange 7007i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0013
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary2X attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          2 or more"
      verification: |
          ./chip-tool colorcontrol read primary2x 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0015 DataVersion: 540305990
          [1651483777.233498][3270:3275] CHIP:TOO:   primary 2 x: 0
          [1651483777.233614][3270:3275] CHIP:EM: Sending Standalone Ack for MessageCounter:1684573 on exchange 21377i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0015
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary2Y attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          2 or more"
      verification: |
          ./chip-tool colorcontrol read primary2y 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0016 DataVersion: 540305990
          [1651483805.650796][3279:3284] CHIP:TOO:   primary 2 y: 0
          [1651483805.650942][3279:3284] CHIP:EM: Sending Standalone Ack for MessageCounter:16277541 on exchange 10435i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0016
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary2Intensity attribute from DUT and Verify that the DUT
          response contains an uint8 if NumberOfPrimaries is 2 or more"
      verification: |
          ./chip-tool colorcontrol read primary2intensity 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0017 DataVersion: 540305990
          [1651483834.596380][3285:3290] CHIP:TOO:   primary 2 intensity: 0
          [1651483834.596470][3285:3290] CHIP:EM: Sending Standalone Ack for MessageCounter:5986355 on exchange 855i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0017
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary3X attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          3 or more"
      verification: |
          ./chip-tool colorcontrol read primary3x 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0019 DataVersion: 540305990
          [1651483937.072323][3298:3303] CHIP:TOO:   primary 3 x: 0
          [1651483937.072405][3298:3303] CHIP:EM: Sending Standalone Ack for MessageCounter:6092298 on exchange 12519i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0019
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary3Y attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          3 or more"
      verification: |
          ./chip-tool colorcontrol read primary3y 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_001A DataVersion: 540305990
          [1651483967.386334][3305:3310] CHIP:TOO:   primary 3 y: 0
          [1651483967.386427][3305:3310] CHIP:EM: Sending Standalone Ack for MessageCounter:3329418 on exchange 11657i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A001a
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary3Intensity attribute from DUT and Verify that the DUT
          response contains an uint8 if NumberOfPrimaries is 3 or more"
      verification: |
          ./chip-tool colorcontrol read primary3intensity 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_001B DataVersion: 540305990
          [1651484113.812178][3316:3321] CHIP:TOO:   primary 3 intensity: 0
          [1651484113.812270][3316:3321] CHIP:EM: Sending Standalone Ack for MessageCounter:41658 on exchange 9618i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A001b
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    #Additional Defined Primaries Information Attribute Set
    - label:
          "TH reads Primary4X attribute from DUT Verify that the DUT response
          contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is 4 or
          more"
      verification: |
          ./chip-tool colorcontrol read primary4x 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0020 DataVersion: 540305990
          [1651484143.778301][3324:3329] CHIP:TOO:   primary 4 x: 0
          [1651484143.778392][3324:3329] CHIP:EM: Sending Standalone Ack for MessageCounter:2094184 on exchange 50270i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0020
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary4Y attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          4 or more"
      verification: |
          ./chip-tool colorcontrol read primary4y 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0021 DataVersion: 540305990
          [1651484171.921901][3334:3339] CHIP:TOO:   primary 4 y: 0
          [1651484171.921984][3334:3339] CHIP:EM: Sending Standalone Ack for MessageCounter:3701827 on exchange 16726i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0021
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary4Intensity attribute from DUT and Verify that the DUT
          response contains an uint8 if NumberOfPrimaries is 4 or more"
      verification: |
          ./chip-tool colorcontrol read primary4intensity 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0022 DataVersion: 540305990
          [1651484198.443415][3341:3346] CHIP:TOO:   primary 4 intensity: 0
          [1651484198.443528][3341:3346] CHIP:EM: Sending Standalone Ack for MessageCounter:1740063 on exchange 36245i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0022
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary5X attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          5 or more"
      verification: |
          ./chip-tool colorcontrol read primary5x 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0024 DataVersion: 540305990
          [1651484241.467661][3350:3355] CHIP:TOO:   primary 5 x: 0
          [1651484241.467788][3350:3355] CHIP:EM: Sending Standalone Ack for MessageCounter:5350139 on exchange 63040i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0024
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary5Y attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          5 or more"
      verification: |
          ./chip-tool colorcontrol read primary5y 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0025 DataVersion: 540305990
          [1651484286.709863][3358:3363] CHIP:TOO:   primary 5 y: 0
          [1651484286.709964][3358:3363] CHIP:EM: Sending Standalone Ack for MessageCounter:7199124 on exchange 47604i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0025
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary5Intensity attribute from DUT and Verify that the DUT
          response contains an uint8 if NumberOfPrimaries is 5 or more"
      verification: |
          ./chip-tool colorcontrol read primary5intensity 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0026 DataVersion: 540305990
          [1651484304.715731][3365:3370] CHIP:TOO:   primary 5 intensity: 0
          [1651484304.715829][3365:3370] CHIP:EM: Sending Standalone Ack for MessageCounter:8654922 on exchange 29272i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0026
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary6X attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          6 or more"
      verification: |
          ./chip-tool colorcontrol read primary6x 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0028 DataVersion: 540305990
          [1651484349.601181][3372:3377] CHIP:TOO:   primary 6 x: 0
          [1651484349.601269][3372:3377] CHIP:EM: Sending Standalone Ack for MessageCounter:13704291 on exchange 30507i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0028
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary6Y attribute from DUT and Verify that the DUT
          response contains an uint16 [Min:0 Max:0xfeff] if NumberOfPrimaries is
          6 or more"
      verification: |
          ./chip-tool colorcontrol read primary6y 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0028 DataVersion: 540305990
          [1651484349.601181][3372:3377] CHIP:TOO:   primary 6 x: 0
          [1651484349.601269][3372:3377] CHIP:EM: Sending Standalone Ack for MessageCounter:13704291 on exchange 30507i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A0029
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH reads Primary6Intensity attribute from DUT and Verify that the DUT
          response contains an uint8 if NumberOfPrimaries is 6 or more"
      verification: |
          ./chip-tool colorcontrol read primary6intensity 1 1

          Verify in  TH  Logs:
          CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_002A DataVersion: 540305990
          [1651484392.490974][3378:3383] CHIP:TOO:   primary 6 intensity: 0
          [1651484392.491074][3378:3383] CHIP:EM: Sending Standalone Ack for MessageCounter:2427165 on exchange 17769i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && CC.S.A002a
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    #Defined Color Points Settings Attribute Set
    - label: "TH reads WhitePointX attribute from DUT"
      PICS: CC.S.A0030
      command: "readAttribute"
      attribute: "WhitePointX"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads WhitePointY attribute from DUT"
      PICS: CC.S.A0031
      command: "readAttribute"
      attribute: "WhitePointY"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorPointRX attribute from DUT"
      PICS: CC.S.A0032
      command: "readAttribute"
      attribute: "ColorPointRX"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorPointRY attribute from DUT"
      PICS: CC.S.A0033
      command: "readAttribute"
      attribute: "ColorPointRY"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorPointRIntensity attribute from DUT"
      PICS: CC.S.A0034
      command: "readAttribute"
      attribute: "ColorPointRIntensity"
      response:
          constraints:
              type: int8u
              minValue: 0
              maxValue: 255

    - label: "TH reads ColorPointGX attribute from DUT"
      PICS: CC.S.A0036
      command: "readAttribute"
      attribute: "ColorPointGX"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorPointGY attribute from DUT"
      PICS: CC.S.A0037
      command: "readAttribute"
      attribute: "ColorPointGY"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorPointGIntensity attribute from DUT"
      PICS: CC.S.A0038
      command: "readAttribute"
      attribute: "ColorPointGIntensity"
      response:
          constraints:
              type: int8u
              minValue: 0
              maxValue: 255

    - label: "TH reads ColorPointBX attribute from DUT"
      PICS: CC.S.A003a
      command: "readAttribute"
      attribute: "ColorPointBX"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorPointBY attribute from DUT"
      PICS: CC.S.A003b
      command: "readAttribute"
      attribute: "ColorPointBY"
      response:
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65279

    - label: "TH reads ColorPointBIntensity attribute from DUT"
      PICS: CC.S.A003c
      command: "readAttribute"
      attribute: "ColorPointBIntensity"
      response:
          constraints:
              type: int8u
              minValue: 0
              maxValue: 255
