|
| 1 | +import io |
| 2 | +from baseline.Car import Car |
| 3 | +from baseline.BooleanType import BooleanType |
| 4 | +from baseline.Model import Model |
| 5 | + |
| 6 | +buffer = bytearray(2048) |
| 7 | + |
| 8 | +# start decoding |
| 9 | +car = Car() |
| 10 | +car.wrapForEncode(buffer, 0, len(buffer)) |
| 11 | + |
| 12 | +car.setSerialNumber(1234) |
| 13 | +car.setModelYear(2013) |
| 14 | +car.setAvailable(BooleanType.TRUE) |
| 15 | +car.setCode(Model.A) |
| 16 | + |
| 17 | +# fixed arrays |
| 18 | +for i in range(0, car.someNumbersLength()) : |
| 19 | + car.setSomeNumbers(i, i) |
| 20 | + |
| 21 | + |
| 22 | +code = [x for x in 'abcdef'] |
| 23 | +for i in range(0, car.vehicleCodeLength()): |
| 24 | + car.setVehicleCode(i, code[i]) |
| 25 | + |
| 26 | +car.extras().setCruiseControl(True) |
| 27 | +car.extras().setSportsPack(True) |
| 28 | +car.extras().setSunRoof(False) |
| 29 | + |
| 30 | +# composites |
| 31 | +car.engine().setCapacity(2000) |
| 32 | +car.engine().setNumCylinders(4) |
| 33 | +code = [x for x in '123'] |
| 34 | +for i in range(0, car.engine().manufacturerCodeLength()): |
| 35 | + car.engine().setManufacturerCode(i, code[i]) |
| 36 | + |
| 37 | +# groups |
| 38 | +fuelFigures = car.fuelFiguresCount(3) |
| 39 | +for speed, mpg in [(30,35.9), (55,49.0), (75,40.0)]: |
| 40 | + fuelFigures.next() |
| 41 | + fuelFigures.setSpeed(speed) |
| 42 | + fuelFigures.setMpg(mpg) |
| 43 | + |
| 44 | + |
| 45 | +performanceFigures = car.performanceFiguresCount(2) |
| 46 | + |
| 47 | +performanceFigures.next() |
| 48 | +performanceFigures.setOctaneRating(95) |
| 49 | + |
| 50 | +acceleration = performanceFigures.accelerationCount(3) |
| 51 | +for mph, seconds in [(30,4.0), (60,7.5), (100,12.2)]: |
| 52 | + acceleration.next() |
| 53 | + acceleration.setMph(mph) |
| 54 | + acceleration.setSeconds(seconds) |
| 55 | + |
| 56 | +performanceFigures.next() |
| 57 | +performanceFigures.setOctaneRating(99) |
| 58 | + |
| 59 | +acceleration = performanceFigures.accelerationCount(3) |
| 60 | +for mph, seconds in [(30,3.8), (60,7.1), (100,11.8)]: |
| 61 | + acceleration.next() |
| 62 | + acceleration.setMph(mph) |
| 63 | + acceleration.setSeconds(seconds) |
| 64 | + |
| 65 | +# variable length |
| 66 | +car.setMake('Honda') |
| 67 | +car.setModel('Civic VTi') |
| 68 | + |
| 69 | +length = car.encodedLength() |
| 70 | + |
| 71 | +f = io.open('car.bin', 'wb') |
| 72 | +f.write(buffer[:length]) |
| 73 | +f.close() |
0 commit comments