Index: test/basictest.cc
===================================================================
--- test/basictest.cc	(revision 17)
+++ test/basictest.cc	(revision 18)
@@ -32,4 +32,5 @@
 
 #include <cstdio>
+#include <cstring>
 
 //------------------------------------------------------------------------------
@@ -145,10 +146,82 @@
         printf("The aircraft elevator up control set to %f\n\n", acfElevUp);
 
-        double acfElevDown = xplane.getDouble("sim/flightmodel/position/local_x");
-        printf("Setting the aircraft elevator down control from %f to %f...\n",
-               acfElevDown, acfElevDown + 15.0);
-        xplane.setDouble("sim/flightmodel/position/local_x", acfElevDown + 15.0);
-        acfElevDown = xplane.getDouble("sim/flightmodel/position/local_x");
-        printf("The aircraft elevator down control set to %f\n\n", acfElevDown);
+        double localX = xplane.getDouble("sim/flightmodel/position/local_x");
+        printf("Setting the aircraft's local X-coordinate from %f to %f...\n",
+               localX, localX + 15.0);
+        xplane.setDouble("sim/flightmodel/position/local_x", localX + 15.0);
+        localX = xplane.getDouble("sim/flightmodel/position/local_x");
+        printf("The aircraft's local X-coordinate set to %f\n\n", localX);
+
+        float numBlades[8];
+        length = xplane.getFloatArray("sim/aircraft/prop/acf_num_blades",
+                                      numBlades, sizeof(numBlades)/sizeof(numBlades[0]));
+
+        printf("Setting the number of blades\n    from:");
+        for(size_t i = 0; i<length; ++i) {
+            if (i>0) printf(",");
+            printf(" %f", numBlades[i]);
+        }
+        printf("\n    to:");
+        for(size_t i = 0; i<length; ++i) {
+            numBlades[i] += 2.5;
+            if (i>0) printf(",");
+            printf(" %f", numBlades[i]);
+        }
+        printf("\n");
+        xplane.setFloatArray("sim/aircraft/prop/acf_num_blades",
+                             numBlades, length);
+        length = xplane.getFloatArray("sim/aircraft/prop/acf_num_blades",
+                                      numBlades, sizeof(numBlades)/sizeof(numBlades[0]));
+        printf("The result:");
+        for(size_t i = 0; i<length; ++i) {
+            if (i>0) printf(",");
+            printf(" %f", numBlades[i]);
+        }
+        printf("\n\n");
+
+        int32_t batteryArrayOn[8];
+        length = xplane.getIntArray("sim/cockpit/electrical/battery_array_on",
+                                    batteryArrayOn,
+                                    sizeof(batteryArrayOn)/sizeof(batteryArrayOn[0]));
+
+        printf("Setting the batteries\n    from:");
+        for(size_t i = 0; i<length; ++i) {
+            if (i>0) printf(",");
+            printf(" %d", batteryArrayOn[i]);
+        }
+        printf("\n    to:");
+        for(size_t i = 0; i<length; ++i) {
+            batteryArrayOn[i] = !batteryArrayOn[i];
+            numBlades[i] += 2.5;
+            if (i>0) printf(",");
+            printf(" %d", batteryArrayOn[i]);
+        }
+        printf("\n");
+        xplane.setIntArray("sim/cockpit/electrical/battery_array_on",
+                           batteryArrayOn, length);
+        length = xplane.getIntArray("sim/cockpit/electrical/battery_array_on",
+                                    batteryArrayOn,
+                                    sizeof(batteryArrayOn)/sizeof(batteryArrayOn[0]));
+        printf("The result:");
+        for(size_t i = 0; i<length; ++i) {
+            if (i>0) printf(",");
+            printf(" %d", batteryArrayOn[i]);
+        }
+        printf("\n\n");
+
+        uint8_t tailNum[40];
+        memset(tailNum, 0, sizeof(tailNum));
+        strcpy(reinterpret_cast<char*>(tailNum), "HA-VAI");
+        printf("Setting the tail number to %s as a byte array...\n", tailNum);
+        xplane.setByteArray("sim/aircraft/view/acf_tailnum",
+                            tailNum, sizeof(tailNum));
+        printf("The tail number is: '%s'\n\n",
+               xplane.getString("sim/aircraft/view/acf_tailnum").c_str());
+
+        static const char* tailNum1 = "VAI";
+        printf("Setting the tail number to %s as a string...\n", tailNum1);
+        xplane.setString("sim/aircraft/view/acf_tailnum", tailNum1, 40);
+        printf("The tail number is: '%s'\n\n",
+               xplane.getString("sim/aircraft/view/acf_tailnum").c_str());
 
         try {
