Post on 28-Sep-2018
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