#!perl -T
use 5.006;
use strict;
use warnings;
use Test::More;

plan tests => 141;

BEGIN {
    use_ok( 'Tinkerforge' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletColor' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletCO2V2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletCurrent25' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAmbientLight' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAirQuality' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRGBLEDMatrix' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletUVLight' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletJoystickV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletHumidity' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletParticulateMatter' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickMaster' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletPiezoSpeaker' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletThermocoupleV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletTemperatureV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLCD128x64' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletBarometerV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDualButtonV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickStepper' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletMultiTouchV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRotaryEncoderV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletColorV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLaserRangeFinder' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAnalogInV3' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAccelerometer' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLEDStripV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletCurrent12' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletVoltageCurrent' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDigitalIn4' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialQuadRelayV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLEDStrip' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLCD16x2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletBarometer' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIsolator' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickDC' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletOutdoorWeather' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialQuadRelay' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickServo' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletGPSV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletMultiTouch' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDMX' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDistanceUS' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialAnalogOutV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickRED' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRemoteSwitchV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAnalogOutV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRotaryPoti' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRotaryEncoder' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRealTimeClock' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAnalogIn' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletEPaper296x128' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDualButton' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDistanceIRV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDualRelay' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickHAT' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::Device' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletPTC' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDigitalOut4V2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletPiezoBuzzer' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDistanceIR' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialCounter' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickSilentStepper' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLoadCell' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletCompass' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAmbientLightV3' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLine' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletThermocouple' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletNFCRFID' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletThermalImaging' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletSegmentDisplay4x7V2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletSolidStateRelay' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletCAN' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletOneWire' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLoadCellV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletEnergyMonitor' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickIMU' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRGBLEDButton' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDigitalOut4' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletOLED128x64V2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRS232V2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRGBLEDV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAccelerometerV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickIMUV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIO4' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRGBLED' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDualRelay' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRealTimeClockV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletTemperature' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletHallEffectV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDigitalIn4V2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletCO2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletSoundPressureLevel' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletPTCV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletHallEffect' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletXMC1400Breakout' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDistanceUSV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletGPS' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAmbientLightV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletSolidStateRelayV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIO16' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletPiezoSpeakerV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletVoltage' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLCD20x4' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDualAnalogIn' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLinearPotiV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletVoltageCurrentV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLaserRangeFinderV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickHATZero' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletMotionDetectorV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletMotionDetector' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletLinearPoti' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRemoteSwitch' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAnalogOut' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletHumidityV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRS485' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::IPConnection' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletCANV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletOLED128x64' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDualAnalogInV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRS232' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIO16V2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAnalogOutV3' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletUVLightV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletJoystick' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletMoisture' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletTilt' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIO4V2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletMotorizedLinearPoti' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialAnalogOut' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletTemperatureIRV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletRotaryPotiV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletDustDetector' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDual020mA' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletOLED64x48' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletIndustrialDual020mAV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletNFC' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletTemperatureIR' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletSegmentDisplay4x7' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletAnalogInV2' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::Error' ) || print "Bail out!\n";
    use_ok( 'Tinkerforge::BrickletSoundIntensity' ) || print "Bail out!\n";
}

diag( "Testing Tinkerforge $Tinkerforge::VERSION, Perl $], $^X" );
