ducky/devices
2015-11-12
Parent:600326d50e74
ducky/devices/device_type.go
Start testing our Storers. Set up a file to start testing our Storer implementations, and write a sample test for the happy path of GetDevices--e.g., we expect no errors. This also required us to setup a helper to compare two Device instances and see if they're equal or not, and if not, how they differ. In the future, we'll keep adding test methods to test more logical paths for the interface contract, and to test more of the methods for the interface.
| paddy@1 | 1 package devices |
| paddy@1 | 2 |
| paddy@1 | 3 const ( |
| paddy@1 | 4 // TypeAndroidTablet is used to designate a Device as an |
| paddy@1 | 5 // Android tablet, usually for display purposes. |
| paddy@1 | 6 TypeAndroidTablet = DeviceType("android_tablet") |
| paddy@1 | 7 // TypeAndroidPhone is used to designate a Device as an |
| paddy@1 | 8 // Android phone, usually for display purposes. |
| paddy@1 | 9 TypeAndroidPhone = DeviceType("android_phone") |
| paddy@1 | 10 // TypeChromeExtension is used to designate a device as a |
| paddy@1 | 11 // Chrome extension, usually for display purposes. |
| paddy@1 | 12 TypeChromeExtension = DeviceType("chrome_extension") |
| paddy@1 | 13 ) |
| paddy@1 | 14 |
| paddy@1 | 15 // DeviceType is an enum specifying which type of Device it is. Usually, |
| paddy@1 | 16 // this is something like `android_phone` or `android_tablet`. |
| paddy@1 | 17 type DeviceType string |
| paddy@1 | 18 |
| paddy@1 | 19 // IsValidDeviceType validates the DeviceType against a list of |
| paddy@1 | 20 // DeviceTypes that have been whitelisted as "valid". |
| paddy@1 | 21 func IsValidDeviceType(d DeviceType) bool { |
| paddy@1 | 22 switch d { |
| paddy@1 | 23 case TypeAndroidTablet: |
| paddy@1 | 24 return true |
| paddy@1 | 25 case TypeAndroidPhone: |
| paddy@1 | 26 return true |
| paddy@1 | 27 case TypeChromeExtension: |
| paddy@1 | 28 return true |
| paddy@1 | 29 default: |
| paddy@1 | 30 return false |
| paddy@1 | 31 } |
| paddy@1 | 32 } |