LSF Lamp Service 15.04 Test Case Specifications - … · lamp service test case specifications...

32
This work is licensed under a Creative Commons Attribution 4.0 International License. http://creativecommons.org/licenses/by/4.0/ AllJoyn is a trademark of Qualcomm Innovation Center, Inc. AllJoyn is used here with permission to identify unmodified materials originating in the AllJoyn open source project. AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications Version 15.04 October 17, 2016 THIS COMPLIANCE AND CERTIFICATION PROGRAM FOR ALLJOYN CERTIFIED PROGRAM MANAGEMENT DOCUMENT VERSION 4.0 (AND ALL PRIOR VERSIONS) AND ALL REFERENCED TEST CASES AND DOCUMENTATION WERE COMPLETED PRIOR TO THE COMBINATION OF THE ALLSEEN ALLIANCE, INC. INTO THE OPEN CONNECTIVITY FOUNDATION, INC. ALL LICENSES, INTELLECTUAL PROPERTY RIGHTS, AND OTHER RIGHTS, RESPONSIBILITIES, OBLIGATIONS, STANDARDS, AND PROTOCOLS ASSOCIATED WITH THIS COMPLIANCE AND CERTIFICATION PROGRAM ARE SUBJECT TO THE BYLAWS, INTELLECTUAL PROPERTY POLICY AND MEMBERSHIP AGREEMENTS OF THE ALLSEEN ALLIANCE, INC.

Transcript of LSF Lamp Service 15.04 Test Case Specifications - … · lamp service test case specifications...

This work is licensed under a Creative Commons Attribution 4.0 International License. http://creativecommons.org/licenses/by/4.0/ AllJoyn is a trademark of Qualcomm Innovation Center, Inc. AllJoyn is used here with permission to identify unmodified materials originating in the AllJoyn open source project.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

Version 15.04 October 17, 2016

THIS COMPLIANCE AND CERTIFICATION PROGRAM FOR ALLJOYN CERTIFIED PROGRAM MANAGEMENT DOCUMENT VERSION 4.0 (AND ALL PRIOR VERSIONS) AND ALL REFERENCED TEST CASES AND DOCUMENTATION WERE COMPLETED PRIOR TO THE COMBINATION OF THE ALLSEEN ALLIANCE, INC. INTO THE OPEN CONNECTIVITY FOUNDATION, INC. ALL LICENSES, INTELLECTUAL PROPERTY RIGHTS, AND OTHER RIGHTS, RESPONSIBILITIES, OBLIGATIONS, STANDARDS, AND PROTOCOLS ASSOCIATED WITH THIS COMPLIANCE AND CERTIFICATION PROGRAM ARE SUBJECT TO THE BYLAWS, INTELLECTUAL PROPERTY POLICY AND MEMBERSHIP AGREEMENTS OF THE ALLSEEN ALLIANCE, INC.

ii AllSeen Alliance

Contents

1 Introduction ...................................................................................................... 4

1.1 Purpose .......................................................................................................................... 4

1.2 Scope ............................................................................................................................. 4

1.3 References ..................................................................................................................... 4

2 Environment setup .......................................................................................... 5

2.1 Requirements ................................................................................................................. 5

2.2 Preconditions .................................................................................................................. 5

2.3 Parameters ..................................................................................................................... 5

3 Lamp Service test cases ................................................................................. 6

3.1 LSF_Lamp-v1-01: Service Interface Version value .......................................................... 6

3.2 LSF_Lamp-v1-02: Lamp Service Version value ............................................................... 6

3.3 LSF_Lamp-v1-03: ClearLampFault() method ................................................................... 7

3.4 LSF_Lamp-v1-04: SetOnOff() property ............................................................................ 8

3.5 LSF_Lamp-v1-05: SetHue() property ............................................................................... 8

3.6 LSF_Lamp-v1-06: SetSaturation() property ..................................................................... 9

3.7 LSF_Lamp-v1-07: SetColorTemp() property .................................................................... 9

3.8 LSF_Lamp-v1-08: SetBrightness() property ................................................................... 10

3.9 LSF_Lamp-v1-09: TransitionLampState and verify state ................................................ 11

3.10 LSF_Lamp-v1-10: ApplyPulseEffect ............................................................................ 12

3.11 LSF_Lamp-v1-11: Service Interface XML Matches ...................................................... 13

3.12 LSF_Lamp-v1-12: Parameters Interface Version value ................................................ 13

3.13 LSF_Lamp-v1-13: GetEnergyUsageMilliwatts .............................................................. 14

3.14 LSF_Lamp-v1-14: GetBrightnessLumens .................................................................... 14

3.15 LSF_Lamp-v1-15: Details Interface Version value ....................................................... 15

3.16 LSF_Lamp-v1-16: GetMake ........................................................................................ 15

3.17 LSF_Lamp-v1-17: GetModel ....................................................................................... 16

3.18 LSF_Lamp-v1-18: GetType ......................................................................................... 17

3.19 LSF_Lamp-v1-19: GetLampType ................................................................................ 17

3.20 LSF_Lamp-v1-20: GetLampBaseType ........................................................................ 18

3.21 LSF_Lamp-v1-21: GetLampBeamAngle ...................................................................... 18

3.22 LSF_Lamp-v1-22: GetDimmable ................................................................................. 19

3.23 LSF_Lamp-v1-23: GetColor ........................................................................................ 19

3.24 LSF_Lamp-v1-24: GetVariableColorTemp ................................................................... 20

3.25 LSF_Lamp-v1-25: GetLampID..................................................................................... 20

3.26 LSF_Lamp-v1-26: GetHasEffects ................................................................................ 21

3.27 LSF_Lamp-v1-27: GetMinVoltage ............................................................................... 21

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications Contents

iii AllSeen Alliance

3.28 LSF_Lamp-v1-28: GetMaxVoltage .............................................................................. 22

3.29 LSF_Lamp-v1-29: GetWattage .................................................................................... 23

3.30 LSF_Lamp-v1-30: GetIncandescentEquivalent ............................................................ 23

3.31 LSF_Lamp-v1-31: GetMaxLumens .............................................................................. 24

3.32 LSF_Lamp-v1-32: GetMinTemperature ....................................................................... 24

3.33 LSF_Lamp-v1-33: GetMaxTemperature ...................................................................... 25

3.34 LSF_Lamp-v1-34: GetColorRenderingIndex ................................................................ 25

Appendix A Implementation Conformance Statement, ICS ...................................... 27

Appendix B Implementation eXtra Information for Testing, IXIT .............................. 29

Appendix C Test Case Mapping Table, TCMT ........................................................... 30

4 AllSeen Alliance

1 Introduction

1.1 Purpose When an OEM implements the Lighting Service Framework Lamp Service on a device, it is desirable to ensure that that implementation is consistent with the Lamp Service Interface Specification before certification. These test cases verify the functionality of an implementation of the AllJoyn™ Lighting Service Framework Lamp Service exposed by a device through the Lamp Service 15.04 interface.

1.2 Scope These test cases are designed to determine if a device conforms to the Lamp Service interface specifications. Successful completion of all test cases in this document does not guarantee that the tested device will interoperate with other devices.

1.3 Release history Release version Date What changed in this document

14.12 4/09/2015 First release

14.12 Update 1 5/06/2015 Document updated according to latest version of AllJoyn Service Framework Test Case Specification Template to include ICS, IXIT and TCMT information

15.04 October 17,

2016

Test case specification updated for 15.04 certification release

Added note in the cover sheet

1.4 References The following are reference documents

� AllJoyn™ Lighting Service Framework Lamp Service 14.12 Interface Specification

� AllJoyn™ About Feature 14.12 Interface Specification

5 AllSeen Alliance

2 Environment setup

2.1 Requirements The following are required in order to execute these test cases:

� An AllJoyn-enabled device (the device under test, or DUT) that supports the AllJoyn Lamp Service

� A supported test device (Android phone or tablet) on which the test cases will run

� A Wi-Fi access point (referred to as the personal AP)

2.2 Preconditions Before running these test cases, it is assumed that:

� The DUT is connected to the personal AP

� The test device is connected to the personal AP

� At least one process on the DUT is announcing its capabilities through its About announcement, including its support for the Lamp Service interface

2.3 Parameters Table 1. Parameters for the Lamp Service

Parameter Description

DeviceId Device ID of the DUT

AppId Application ID of the System application on the DUT (application implementing the Lamp Service interface)

6 AllSeen Alliance

3 Lamp Service test cases

3.1 LSF_Lamp-v1-01: Service Interface Version value

Objective

Verify whether the Service Interface Version of the DUT’s System App (the application supporting the Lamp Service interface) is equal to IXITL_LampServiceVersion.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getVersion() property on the LampService bus object.

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The interface version returned from the getVersion property equals IXITL_LampServiceVersion.

� If not equal to IXITL_LampServiceVersion, the test fails

� If a bus exception occurs, the test fails.

� Otherwise, the test case passes.

3.2 LSF_Lamp-v1-02: Lamp Service Version value

Objective

Verify whether the Service Version of the DUT’s System App (the application supporting the Lamp Service interface) is equal to IXITL_LampServiceVersion.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

7 AllSeen Alliance

3. The test device calls the getLampServiceVersion() property on the LampService bus object.

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The version returned from the getLampServiceVersion property equals IXITL_LampServiceVersion.

� If not equal to IXITL_LampServiceVersion, the test fails

� If a bus exception occurs, the test fails.

� Otherwise, the test case passes.

3.3 LSF_Lamp-v1-03: ClearLampFault() method

Objective

Verify that calling the getLampFaults() method before and after calling the ClearLampFault() method does not cause a bus exception.

Note: ClearLampFault is an OEM-specific function. Therefore this test does not attempt to verify that the fault was actually cleared.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getLampFaults() method on the bus object

4. The test device calls the ClearLampFault() method on the bus object

5. The test device calls the getLampFaults() method on the bus object

6. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The getLampFaults() method returns an array containing fault codes for the application on the DUT.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

8 AllSeen Alliance

3.4 LSF_Lamp-v1-04: SetOnOff() property

Objective

Verify that calling the getOnOff() property, after calling the setOnOff() property, returns the appropriate value .

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the setOnOff() property on the bus object providing the value ‘true’.

4. The test device calls the getOnOff() property on the bus object.

5. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The setOnOff() property is executed.

� The getOnOff() property returns the value ‘true’

3.5 LSF_Lamp-v1-05: SetHue() property

Objective

Verify that calling the getHue() property, after calling the setHue() property, returns the appropriate value .

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the setHue() property on the bus object providing the value 100.

4. The test device calls the getHue() property on the bus object.

5. The test device leaves the session.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

9 AllSeen Alliance

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The setHue() property is executed.

� The getHue() property returns the value 100.

3.6 LSF_Lamp-v1-06: SetSaturation() property

Objective

Verify that calling the getSaturation() property, after calling the setSaturation() property, returns the appropriate value .

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the setSaturation() property on the bus object providing the value 100.

4. The test device calls the getSaturation() property on the bus object.

5. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The setSaturation() property is executed.

� The getSaturation() property returns the value 100

3.7 LSF_Lamp-v1-07: SetColorTemp() property

Objective

See if the DUT supports variable color property. If it does, verify that calling the getColorTemp() property, after calling the setColorTemp() property, returns the appropriate value .

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

10 AllSeen Alliance

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getVariableColorTemp() method.

4. If true, the test device calls the setColorTemp() property on the bus object providing the value 100.

5. The test device calls the getColorTemp() property on the bus object.

6. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� If the getVariableColorTemp() method returns ‘true’, the setColorTemp() property is executed.

� If the getVariableColorTemp() method returned ‘true’, the getColorTemp() property returns the value 100.

3.8 LSF_Lamp-v1-08: SetBrightness() property

Objective

Verify that calling the getBrightness() property, after calling the setBrightness() property, returns the appropriate value .

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getDimmable() property.

4. If true, the test device calls the setBrightness() property on the bus object providing the value 100.

5. The test device calls the getBrightness() property on the bus object.

6. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

11 AllSeen Alliance

� The test device joins a session with the application at the port specified in the received About announcement.

� If the getDimmable() property returns ‘true’, the setBrightness() property is executed.

� If the getDimmable() property returned ‘true’, the geBrightness() property returns the value 100, else the test case fails.

3.9 LSF_Lamp-v1-09: TransitionLampState and verify state

Objective

Verify that calling the TransitionLampState() method on the bus object complies with the interface, and thus does not result in a BusException.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device registers a signal handler with the AllJoyn framework .

4. The test device calls the TransitionLampState() method on the bus object with the timestamp set to the current time, a transition period of 10, onOff true, brightness 10, hue 20, saturation 30, colorTemp 40

5. The test device calls getHue() property on the bus object

6. The test device calls getSaturation() property on the bus object

7. The test device calls getColorTemp() property on the bus object

8. The test device calls getBrightness() property on the bus object

9. The test device calls getOnOff() property on the bus object

10. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The brightness field returned from the getBrightness() property equals 10.

� The hue field returned from the getHue() property equals 20.

� The saturation field returned from the getSaturation() property equals 30.

� The colorTemp field returned from the getColorTemp() property equals 40.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

12 AllSeen Alliance

3.10 LSF_Lamp-v1-10: ApplyPulseEffect

Objective

Verify that calling the ApplyPulseEffect() method on the bus object will return success.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls ApplyPulseEffect() method with

fromOnOffValue = true;

fromBrightnessValue = 10;

fromHueValue = 20;

fromSaturationValue = 30;

fromColorTempValue = 40;

toOnOffValue = true;

toBrightnessValue = 11;

toHueValue = 22;

toSaturationValue = 33;

toColorTempValue = 44;

startTimestamp = System.currentTimeMillis() / 1000L;

period = 100;

duration = 200;

numPulses = 3;

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the ApplyPulseEffect() method on the bus object returns success.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

13 AllSeen Alliance

3.11 LSF_Lamp-v1-11: Service Interface XML Matches

Objective

Verify that using introspection to retrieve each interface definition on the bus object matches exactly the XML file maintained by the test suite. A successful match means that no interfaces have been added nor removed.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test compares the introspected interface definition with its stored XML file.

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The introspected interface definition matches the Lamp Service XML maintained with the validation test.

3.12 LSF_Lamp-v1-12: Parameters Interface Version value

Objective

Verify whether the Parameters Interface Version of the DUT’s System App (the application supporting the Lamp Service interface) is equal to IXITL_LampParametersVersion.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getVersion() property on the LampParameters bus object.

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

14 AllSeen Alliance

� The test device joins a session with the application at the port specified in the received About announcement.

� The interface version returned from the getVersion property equals IXITL_LampParametersVersion.

� If not equal to IXITL_LampParametersVersion, the test fails

� If a bus exception occurs, the test fails.

� Otherwise, the test case passes.

3.13 LSF_Lamp-v1-13: GetEnergyUsageMilliwatts

Objective

Verify that calling the GetEnergyUsageMilliwatts() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getEnergy_Usage_Milliwatts() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getEnergy_Usage_Milliwatts() property on the bus object does not cause a bus exception.

3.14 LSF_Lamp-v1-14: GetBrightnessLumens

Objective

Verify that calling the GetBrightness_Lumens() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

15 AllSeen Alliance

3. The test device calls the getBrightness_Lumens() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getBrightness_Lumens() property on the bus object does not cause a bus exception.

3.15 LSF_Lamp-v1-15: Details Interface Version value

Objective

Verify whether the Details Interface Version of the DUT’s System App (the application supporting the Lamp Service interface) is equal to IXITL_LampDetailsVersion.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getVersion() property on the LampDetails bus object.

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The interface version returned from the getVersion property equals IXITL_LampDetailsVersion.

� If not equal to IXITL_LampDetailsVersion, the test fails

� If a bus exception occurs, the test fails.

� Otherwise, the test case passes.

3.16 LSF_Lamp-v1-16: GetMake

Objective

Verify that calling the GetMake() property on the bus object does not cause a bus exception.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

16 AllSeen Alliance

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getMake() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getMake() property on the bus object does not cause a bus exception.

3.17 LSF_Lamp-v1-17: GetModel

Objective

Verify that calling the GetModel() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getModel() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getModel() property on the bus object does not cause a bus exception.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

17 AllSeen Alliance

3.18 LSF_Lamp-v1-18: GetType

Objective

Verify that calling the GetType() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getType() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getType() property on the bus object does not cause a bus exception.

3.19 LSF_Lamp-v1-19: GetLampType

Objective

Verify that calling the GetLampType() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getLampType() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getLampType() property on the bus object does not cause a bus exception.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

18 AllSeen Alliance

3.20 LSF_Lamp-v1-20: GetLampBaseType

Objective

Verify that calling the GetLampBaseType() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getLampBaseType() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getLampBaseType() property on the bus object does not cause a bus exception.

3.21 LSF_Lamp-v1-21: GetLampBeamAngle

Objective

Verify that calling the GetLampBeamAngle() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement

3. The test device calls the getLampBeamAngle() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

19 AllSeen Alliance

� The call to the getLampBeamAngle() property on the bus object does not cause a bus exception.

3.22 LSF_Lamp-v1-22: GetDimmable

Objective

Verify that calling the GetDimmable() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement

3. The test device calls the getDimmable() property on the bus object

4. The test device checks if Dimmable property matches ICSL_Dimmable value.

5. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getDimmable() property on the bus object does not cause a bus exception.

3.23 LSF_Lamp-v1-23: GetColor

Objective

Verify that calling the GetColor() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getColor() property on the bus object.

4. The test device checks if Color property matches ICSL_Hue value.

5. The test device leaves the session.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

20 AllSeen Alliance

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getColor() property on the bus object does not cause a bus exception.

3.24 LSF_Lamp-v1-24: GetVariableColorTemp

Objective

Verify that calling the GetVariableColorTemp() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getVariableColorTemp() property on the bus object.

4. The test device checks if VariableColorTemp property matches ICSL_VariableColorTemperature value.

5. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getVariableColorTemp() property on the bus object does not cause a bus exception.

3.25 LSF_Lamp-v1-25: GetLampID

Objective

Verify that calling the GetLampID() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

21 AllSeen Alliance

3. The test device calls the getLampID() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getLampID() property on the bus object does not cause a bus exception.

3.26 LSF_Lamp-v1-26: GetHasEffects

Objective

Verify that calling the GetHasEffects() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getHasEffects() property on the bus object.

4. The test device checks if HasEffects property matches ICSL_Effects value.

5. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getHasEffects() property on the bus object does not cause a bus exception.

3.27 LSF_Lamp-v1-27: GetMinVoltage

Objective

Verify that calling the GetMinVoltage() property on the bus object does not cause a bus exception.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

22 AllSeen Alliance

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getMinVoltage() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getMinVoltage() property on the bus object does not cause a bus exception.

3.28 LSF_Lamp-v1-28: GetMaxVoltage

Objective

Verify that calling the GetMaxVoltage() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getMaxVoltage() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getMaxVoltage() property on the bus object does not cause a bus exception.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

23 AllSeen Alliance

3.29 LSF_Lamp-v1-29: GetWattage

Objective

Verify that calling the GetWattage() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getWattage() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getWattage() property on the bus object does not cause a bus exception.

3.30 LSF_Lamp-v1-30: GetIncandescentEquivalent

Objective

Verify that calling the GetIncandescentEquivalent() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getIncandescentEquivalent() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

24 AllSeen Alliance

� The call to the getIncandescentEquivalent() property on the bus object does not cause a bus exception.

3.31 LSF_Lamp-v1-31: GetMaxLumens

Objective

Verify that calling the GetMaxLumens() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getMaxLumens() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getMaxLumens() property on the bus object does not cause a bus exception.

3.32 LSF_Lamp-v1-32: GetMinTemperature

Objective

Verify that calling the GetMinTemperature() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getMinTemperature() property on the bus object

4. The test device leaves the session.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

25 AllSeen Alliance

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getMinTemperature() property on the bus object does not cause a bus exception.

3.33 LSF_Lamp-v1-33: GetMaxTemperature

Objective

Verify that calling the GetMaxTemperature() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

3. The test device calls the getMaxTemperature() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getMaxTemperature() property on the bus object does not cause a bus exception.

3.34 LSF_Lamp-v1-34: GetColorRenderingIndex

Objective

Verify that calling the GetColorRenderingIndex() property on the bus object does not cause a bus exception.

Procedure

1. The test device waits to receive an About announcement from the application on the DUT.

2. After receiving an About Announcement, the test device joins a session with the application at the port specified in the received About announcement.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

26 AllSeen Alliance

3. The test device calls the getColorRenderingIndex() property on the bus object

4. The test device leaves the session.

Expected results

� The test device receives an About announcement from the application on the DUT.

� The test device joins a session with the application at the port specified in the received About announcement.

� The call to the getColorRenderingIndex() property on the bus object does not cause a bus exception.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

27 AllSeen Alliance

Appendix A Implementation Conformance Statement, ICS

The purpose of this ICS proforma is to provide a mechanism whereby a supplier of an implementation of the requirements defined in relevant specifications may provide information about the implementation in a standardized manner.

The supplier of the implementation shall complete the ICS proforma in each of the spaces provided.

The ICS proforma contained in this appendix (tables below) is comprised of information in tabular form and includes following columns:

Item column

The item column contains a number which identifies the item in the table.

Description column

The item description column describes in free text each respective item (e.g. parameters, timers, etc.). It implicitly means "is <item description> supported by the implementation?".

Status column

The following notations are used for the status column: M mandatory – the capability is required to be supported.

O optional – the capability may be supported or not.

N/A not applicable – in the given context, it is impossible to use the capability.

C.i conditional – the requirement on the capability ("M", "O" or "N/A") depends on the support of other optional or conditional items. "i" is an integer identifying an unique conditional status expression which is defined immediately following the table. For nested conditional expressions, the syntax "IF ... THEN (IF ... THEN ... ELSE...) ELSE ..." shall be used to avoid ambiguities.

Support column

The support column shall be filled in by the supplier of the implementation. The following common notations are used for the support column:

Y or y supported by the implementation

N or n not supported by the implementation

N/A, n/a or - no answer required (allowed only if the status is N/A, directly or after evaluation of a conditional status)

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

28 AllSeen Alliance

Mnemonic column

The Mnemonic column contains mnemonic identifiers for each item.

Table A.1: Configuration ICS

Item Description Status Support Mnemonic 1 Support of Lighting Service Framework O ICSL_LightingServiceFramework 2 Support of LampService Interface C.001 ICSL_LampServiceInterface 3 Support of LampParameters Interface C.001 ICSL_LampParametersInterface 4 Support of LampDetails Interface C.001 ICSL_LampDetailsInterface 5 Support of light dimming C.002 ICSL_Dimmable 6 Support of variable color C.002 ICSL_Color 7 Support of variable color temperature C.002 ICSL_ColorTemperature 8 Support of effects C.002 ICSL_Effects 9 Support of LampState Interface C.001 ICSL_LampStateInterface

C.001 IF (L.1/1) THEN M ELSE N/A C.002 IF (L.1/4) THEN O ELSE N/A

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

29 AllSeen Alliance

Appendix B Implementation eXtra Information for Testing, IXIT

Table B.1: Configuration IXIT

Item Name Description Supported Values Mnemonic Value

1 LampService Version LampService Interface version number 1 IXITL_LampServiceVersion

2 LampParameters Version LampParameters Interface version number 1 IXITL_LampParametersVersion

3 LampDetails Version LampDetails Interface version number

1 IXITL_LampDetailsVersion

4 LampState Version LampState Interface version number 1 IXITL_LampStateVersion

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

30 AllSeen Alliance

Appendix C Test Case Mapping Table, TCMT

The applicability of each individual test is identified in the table C.1.

The applicability of every test is formally expressed by the use of Boolean expression that are based on parameters (ICS) included in annex A of the present document.

The columns in Table C.1 have the following meaning:

Test case column

The Test case column indicates the test case number for each test case as described in the Control Panel Service Framework test case specification for which the applicability is identified.

Description column

The Title column indicates the title of each test case as described in the Control Panel Service Framework test case specification for which the applicability is identified.

Release column

The Release column indicates the earliest release from which each test case is applicable, except if otherwise stated of an individual test case.

Status column

The following notations are used for the Status column: A applicable - the test is applicable.

O optional – the capability may be supported or not.

N/A not applicable – in the given context, the test case is not applicable.

Ci conditional – the test is applicable ("A") or not ("N/A") depending on the support of other optional or conditional items. "i" is an integer identifying an unique conditional status expression which is defined immediately following the table. For nested conditional expressions, the syntax "IF ... THEN (IF ... THEN ... ELSE...) ELSE ..." is used to avoid ambiguities.

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

31 AllSeen Alliance

Table C.1: Test Case Mapping Table

Test case Description Release Status

LSF_Lamp-v1-01 Service Interface Version equals 1 14.12 C01

LSF_Lamp-v1-02 Lamp Service Version equals 1 14.12 C01

LSF_Lamp-v1-03 ClearLampFault() method 14.12 C01

LSF_Lamp-v1-04 SetOnOff() property 14.12 C02

LSF_Lamp-v1-05 SetHue() property 14.12 C03

LSF_Lamp-v1-06 SetSaturation() property 14.12 C03

LSF_Lamp-v1-07 SetColorTemp() property 14.12 C04

LSF_Lamp-v1-08 SetBrightness() property 14.12 C05

LSF_Lamp-v1-09 TransitionLampState and verify state and signal 14.12 C02

LSF_Lamp-v1-10 ApplyPulseEffect 14.12 C02

LSF_Lamp-v1-11 Service interface XML matches 14.12 C01

LSF_Lamp-v1-12 Parameters interface version equals 1 14.12 C06

LSF_Lamp-v1-13 GetEnergyUsageMilliwatts 14.12 C06

LSF_Lamp-v1-14 GetBrightnessLumens 14.12 C06

LSF_Lamp-v1-15 Details interface version equals 1 14.12 C07

LSF_Lamp-v1-16 GetMake 14.12 C07

LSF_Lamp-v1-17 GetModel 14.12 C07

LSF_Lamp-v1-18 GetType 14.12 C07

LSF_Lamp-v1-19 GetLampType 14.12 C07

LSF_Lamp-v1-20 GetLampBaseType 14.12 C07

LSF_Lamp-v1-21 GetLampBeamAngle 14.12 C07

LSF_Lamp-v1-22 GetDimmable 14.12 C07

LSF_Lamp-v1-23 GetColor 14.12 C07

LSF_Lamp-v1-24 GetVariableColorTemp 14.12 C07

LSF_Lamp-v1-25 GetLampID 14.12 C07

LSF_Lamp-v1-26 GetHasEffects 14.12 C07

LSF_Lamp-v1-27 GetMinVoltage 14.12 C07

LSF_Lamp-v1-28 GetMaxVoltage 14.12 C07

AllJoyn™ Lighting Service Framework Lamp Service Test Case Specifications

32 AllSeen Alliance

LSF_Lamp-v1-29 GetWattage 14.12 C07

LSF_Lamp-v1-30 GetIncandescentEquivalent 14.12 C07

LSF_Lamp-v1-31 GetMaxLumens 14.12 C07

LSF_Lamp-v1-32 GetMinTemperature 14.12 C07

LSF_Lamp-v1-33 GetMaxTemperature 14.12 C07

LSF_Lamp-v1-34 GetColorRenderingIndex 14.12 C07

C01 IF (L.1/2) THEN A ELSE N/A C02 IF (L.1/9) THEN A ELSE N/A C03 IF (L.1/6 AND L.1/9) THEN A ELSE N/A C04 IF (L.1/7 AND L.1/9) THEN A ELSE N/A C05 IF (L.1/5 AND L.1/9) THEN A ELSE N/A C06 IF (L.1/3) THEN A ELSE N/A C07 IF (L.1/4) THEN A ELSE N/A