Strange behaviour in "Do - Until" statement

Hi,
I'm having a strange behaviour in a script I'm creating. The purpose of the script is to update some files in some folders. In the case that more folders need to use the script, I'm importing the folders name and path from a CSV file (much easier to read
it from there instead of hardcoding the folders in the code). As you can see, I add a number at the beginning of the folder's name, and then I let them choose which folder number do they want to update.
# Import from CSV File
$name = @()
$path = @()
$bkpPath = @()
Import-Csv $AppsFile |
ForEach-Object {
$name += $_.Name
$path += $_.Path
$bkpPath += $_.bkpPath
Write-Host "Choose the folder to update:"
Write-Host ""
$count = 1
foreach ($n in $name) {
Write-Host $count " - " $n
$count += 1
Do {$opt = read-host -prompt "Enter the option number"}
Until ($opt -lt $count -AND $opt -gt 0)
The problem appears when I started debuging the script, and try to input strange characters. The idea of the "Do - Until" statement, is that the user enters a loop until they choose a correct option. It works ok when it doesn't let you input letters,
or numbers outside the range I'm using.
The strange behaviour appears when I enter for example "0." (The important part is the DOT after the zero). There, it sends me to the last option in my CSV file. If I put "<number>.", it reads it as if it were "<number>".
And if I input a number out of range plus a final dot, it breaks my script (instead of just keep looping as it's supposed to).
Does anyone even understand the issue? =P It's really strange, I don't know if there is another way to limit the input...
Thanks,
Regards

$opt is a string, and you're trying to compare it to numbers, which is probably going to give you headaches.  I tend to write those types of loops like this:
$opt = $null
while ($true)
$string = read-host -prompt "Enter the option number"
if ([int]::TryParse($string, [ref]$opt) -and $opt -lt $count -and $opt -gt 0)
break
Simply because the validation can get kind of complex sometimes, and I think it's ugly to jam it in after an "until" statement, even though the end result is the same.

Similar Messages

  • Strange Behaviour for sequential SELECT statements

    I have all my handles ready to be used
    I do a StmtPrepare , StmtExecute , StmtFetch
    I get (lets say) 3 results...
    result is correct...
    Then by using the very same handles
    I do a StmtPrepare , StmtExecute , StmtFetch
    I get (lets say) 3 results...
    result is incorrect...
    I should be getting 10 results but i get the first 3
    If in the first pass i get 4 results then in the second
    pass i get 4 results like the result_count_of_second = result_count_of_first !?????
    I get no error or warning , everything seems OK
    I check SQL statements from TOAD also
    What may cause this and any trick to overcome ?
    Should i free and realloc the StmdHandle ?
    (I dont want to do this but !?)

    Could you provide some snippets of the code that is
    giving the problem?
    What do you mean that you should be getting 10 results?
    Are you getting an OCI_NO_DATA earlier than expected (on
    the third row instead of the 10th)?
    I think that if you gave some code snippets of your
    OCI program and an example of what results you are
    expecting and what results you are actually getting,
    we might be in a better position to help.

  • FOR i IN (statement) LOOP - very strange behaviour

    Hello, I'm experiencing very strange behaviour in my 9i Development Environment:
    If I run this select from SQL Plus a I get six month with number of days:
    select to_char(add_months(trunc(sysdate,'month'),rownum-1),'Month-YYYY') tmp_date, add_months(trunc(sysdate,'month'),rownum)-add_months(trunc(sysdate,'month'),rownum-1) colspan from dual a connect by level <=6
    But if I try to cycle through it in PL/SQL I only get the first row.
    FOR i in (
    select to_char(add_months(trunc(sysdate,'month'),rownum-1),'Month-YYYY') tmp_date, add_months(trunc(sysdate,'month'),rownum)-add_months(trunc(sysdate,'month'),rownum-1) colspan
    from dual a
    connect by level <=6 )
    loop
    -- print something out
    end loop;
    Any ideas why does this happen this way? If I use a query that does not contain CONNECT BY it works ok.

    Hi
    Just change as given below:
    FOR i in (
    select * from (select to_char(add_months(trunc(sysdate,'month'),rownum-1),'Month-YYYY') tmp_date, add_months(trunc(sysdate,'month'),rownum)-add_months(trunc(sysdate,'month'),rownum-1) colspan
    from dual a
    connect by level <=6 ))
    loop
    -- print something out
    end loop;
    Regards
    RK

  • Windows 8.1 Enterprise Evaluation- Strange behaviour of network adapter

    Hello there are discussions and questions around this community about network adapter dropping connection while system is running. But I have found unique problem with my network adapter driver.
    I have tried to state my problem as clearly as possible. Please ask if any detail is required.
    My network status shows no access on following occasions:
    1. On alternate system wakeups.
        eg:  
    a. System boots up 
    Internet accessible
    no problem
    b. I put system to sleep(first time) and wake it up
    No access to internet !!!
    When I check in network and sharing center not even adapter shows in disabled status.(See video from the link given below).
    c. Without restarting system or without installing network adapter again,  I put system to sleep again and wake it up (2nd time).
    Internet accessible
    d. I put system to sleep for (3rd time) and wakes it up.
    No access to internet!!
    If I put system to sleep again and wake it up definitly I get network access.
    2. If I switch off the modem before windows shutdown completely or in the process of shutdown, next time when I boot system, even though the modem is switched on before booting the system, No internet access tooltip will be shown on network
    sysbol.
    Another strange behaviour is on no internet access status, I start installing adapter, and it loads required files and prompt me to click "next" and "click" install.
    But the thing is before I go to "next" button, I will get network access as shown in this link
    http://youtu.be/sPlXVEiYBeo. Ignore virtualbox adapter. Same behaviour was there when there is no vbox adapter. Same was happening in Windows 8 Pro, but not in windows 7, so that there is no H/W problem I think. 
    Any idea on how to fix this or any alternate solution ? 

    Hi,
    Firstly, access your network adapter official website to get the proper driver applied to your system.
    Then going to Control Panel > Device Manager, right click your adapter > Properties. Under the Power Management tab, make sure "Allow the computer to turn off this device to save power" checkbox unchecked.
    If it still persists, try to disable "fast startup" as below steps:
    1.In Control Panel, open the Power Options item.
    2.Click the Choose what the power buttons do link.
    3.Clear the Turn on fast startup (recommended) check box.
    4.Click Save Settings.
    Karen Hu
    TechNet Community Support

  • Strange Behaviour in File class

    Hi,
    I noticed a strange behaviour. There is a file contains unicode letters in its name. I tried
    File file=new File("c:\@&#8463;&#8465;\@�&#8537;0.txt");
    file.exists() // I checked existence of file using this statement which returns false although file is exist.
    What can I do ?
    Thanks

    Hi,
    Thanks for the reply.
    I am showing the sample:
    //This is a list method
    static void list(File file) {
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                if (files != null) {
                    for (int i = 0; i < files.length; i++) {
                        if(files.isDirectory()){
    list(files[i]);
    }else{
    System.out.println(files[i].getAbsolutePath() + " " + files[i].exists());
    System.out.println(file.getAbsolutePath() + " " + file.exists());
    if I call this method like this from main method:
    File file=new File("C:\\Documents and Settings\\Neha\\Desktop\\ttt\\@&#8463;&#8465;\\@�&#8537;0.txt");
    list(file);
    output:
    C:\Documents and Settings\Neha\Desktop\ttt\@??\@�?0.txt false [with Jre5]
    C:\Documents and Settings\Neha\Desktop\ttt\@??\@�?0.txt true [with Jre6]
    if I call like this
    File file=new File("C:\\Documents and Settings\\Neha\\Desktop\\ttt");
    list(file);
    Output:
    C:\Documents and Settings\Neha\Desktop\ttt\@??\@�?0.txt true
    C:\Documents and Settings\Neha\Desktop\ttt\@??\Chambal25.txt true
    C:\Documents and Settings\Neha\Desktop\ttt\@?? true
    C:\Documents and Settings\Neha\Desktop\ttt true

  • How to delete duplicates in oracle 10g ( strange behaviour)

    Recently we migrated from oracel 8i to oralce 10g and we face this problem.
    When we try to delete duplicates using rowid ( analytical functions row_number()/
    or normal delete ) and commit the same , still we find some duplicates to be existing because of which we are not able to enable costriants and resulting in process failure.
    When we run the same delete statement next time it removes more duplicates than the required or sometimes required duplicates resulting in abnormal behaviour.
    I don not understand this strange behaviour after upgrading to oracle 10g.
    It'd be great if some one who has idea on this can throw light on the same.
    thanks

    Gasparotto,
    Thanks a lot for letting me know a new procedure to delete duplicates sing lead function.
    I've tried this code on a temp table and it worked, let me use the same query on the prodn side and test the same.
    Procedure for deletion of duplicates using lead analytical function.
    create table temp ( col1 number(2) , col2 number(2) , col3 number(2));
    insert into temp values ( 1,2,10);
    insert into temp values ( 1,2,20);
    insert into temp values ( 1,2,30);
    insert into temp values ( 3,2,10);
    insert into temp values ( 3,4,12);
    insert into temp values ( 3,4,45);
    commit;
    COL1 COL2 COL3
    1 2 10
    1 2 20
    1 2 30
    3 2 10
    3 4 12
    3 4 45
    select col1,col2 , col3, LEAD(rowid) OVER (PARTITION BY col1,col2 order by null) from temp;
    COL1 COL2 COL3 LEAD(ROWID)OVER(PA
    1 2 10 AAAVBjAApAAAFyGAAB
    1 2 20 AAAVBjAApAAAFyGAAC
    1 2 30
    3 2 10
    3 4 12 AAAVBjAApAAAFyGAAF
    3 4 45
    6 rows selected.
    select rowid , temp.* from temp ;
    ROWID COL1 COL2 COL3
    AAAVBjAApAAAFyGAAA 1 2 10
    AAAVBjAApAAAFyGAAB 1 2 20
    AAAVBjAApAAAFyGAAC 1 2 30
    AAAVBjAApAAAFyGAAD 3 2 10
    AAAVBjAApAAAFyGAAE 3 4 12
    AAAVBjAApAAAFyGAAF 3 4 45
    SQL> DELETE temp
    WHERE rowid IN
    ( SELECT LEAD(rowid) OVER (PARTITION BY col1, col2 ORDER BY null)
    FROM temp ); 2 3 4
    3 rows deleted.
    SQL> select rowid , temp.* from temp ;
    ROWID COL1 COL2 COL3
    AAAVBjAApAAAFyGAAA 1 2 10
    AAAVBjAApAAAFyGAAD 3 2 10
    AAAVBjAApAAAFyGAAE 3 4 12
    Thanks for the reply

  • Strange behaviour in ORacle Forms Webutil 106 / Error message WUC-14 WUC-12

    This is to inform you about a strange behaviour in Webutil V1.0.6
    Hosting environment is Oracle Application Server 10.1.2.0.2 on Unix Solaris 10
    Oracle Server 10.2.0.4.0 Enterprise Edition
    Client-envionment : Windows 2000, IE 6
    I created an Forms based application which reads in certain text files into the database using
    Webutil. The data will get changed using the application with logic and lateron a different textfile
    will be transmitted using either ftp or it may be created on the client side (again with Webutil).
    This solution worked perfect for some time (a year or so) using CLIENT_TEXT_IO...
    Hoewever, during the week, I recognized users coming up with the statement that the download
    to the local client does not worked anymore in certain situations. The system is producing an error-msg
    on the Form in the following sequence :
    WUC-14 [getFromObjectCache] ...
    WUC-14 [getFromObjectCache] ...
    WUC-12 [FileFunctions.newLine()] ...
    I traced the session and traced WebUtil, was able to reproduce the problem but could not find out the source
    of it in the first place.
    Hoewever, it came out, that part of the file being created on the client is a "¿" sign : hex :$BF
    This was already part of the file being read in the first place, so the value is stored in the database.
    There is no problem when reading a file having a content like this with CLIENT_TEXT_IO but there obviously is one
    when writing it to the local client.
    The file is getting processed on the client and gets closed with CLIENT_TEXT_IO.FCLOSE.
    After the FCLOSE statement is getting processed, the above errors occurs, The length of the produced file is then : 0 bytes ^^
    Whenever facing a problem like this check the content of the file you are trying to create.
    Workaround was :
    - set workingDirectory in formsweb.cfg
    - using Forms based TEXT_IO rather than CLIENT_TEXT_IO to create the file on the backend side (Apps-server)
    - implement WEBUTIL_FILE_TRANSFER.AS_To_Client_With_Progress to download the file to the client
    In order to make it a little bit "colourful" I implemented a bean with progressbar when creating the file on the back end side
    Works perfect... and looks nice :)

    XeM wrote:
    Hi Andreas,
    install.syslib.location.client.0=webutil\syslibi found the above line over google but when i check my webutility configuration file i didn't found it there. I added this line after the line i have mentioned in previous post but this also not worked. And then i worked on changing permission over folder.
    HI XeM
    Your adding location is ok. But i suggest try something different. Change the above line to
    /* i'm confuse with the \ or / *\
    install.syslib.location.client.0=\webutil
    or
    install.syslib.location.client.0=/webutilAnd do the following work In the client
    1. Close ALL open browsers.
    2. On the client machine search all directories for webutil.*properties and delete all instances of that file.
    3. Delete d2kwut60.dll, JNIsharedstubs.dll, and jacob.dll from the JRE\bin directory.
    4. Clear the JRE jar cache. This can be done several ways, but using the Java Control Panel is likely the easiest and safest.
    Now stop the OC4J instance and start again and try at client...
    Hope this works...
    If works... please post the solutions.
    Hamid

  • Strange behaviour of jdbc-mysql driver

    I am trying to store japanese characters in mysql and display also after reading from the database using JSP. I am using the following code.
    <%@ page contentType="text/html; charset=UTF-8"%>
    ....... some code ......
    <%
    Class.forName( "org.gjt.mm.mysql.Driver" );
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/DB?useUnicode=true&characterEncoding=UTF-8", "user", "pass" );
    Statement st = con.createStatement();
    st.executeUpdate( "insert into test values('" + request.getParameter( "imgname" ) + "')" );
    ResultSet rs = st.executeQuery( "select * from test" );
    while( rs.next() ) {
    %> DB Value: <%= rs.getString( "imgname" ) %>
    <% } %>
    I found one strange behaviour. I have to change the DriverManger.getConnection line to the following, to write the data correctly in the database.
    DriverManager.getConnection("jdbc:mysql://localhost:3306/DB","user","pass")
    If I read from the database using the same parameters as above, I am getting garbled data.
    To retrieve the data correctly from the database I have to use the following line instead of the previous one.
    DriverManager.getConnection("jdbc:mysql://localhost:3306/DB?useUnicode=true&characterEncoding=UTF-8", "user", "pass" );
    In short, I have to pass different parameters to DriverManager.getConnection() for writing and reading from the database. But it is not possible practically. I am using mm.mysql-2.0.8 jdbc-mysql driver, mysql is 3.23.47 and english windows 2000.
    I have tried the string.getBytes("UTF-8") and new String( getBytes(string), "UTF-8") methods, but not getting the correct data.
    Can anybody guide me how can I store and display the japanese character correctly?
    Thanks to all,
    gaurang.

    I downloaded the latese driver from sourceforge, but still the same thing is happening. Is there any other thing which I should do?
    Thanks
    gaurang.

  • Strange behaviour of lenovo3000 n200

    Hi, guys !
    I bought 3000 n200 notebook few weeks ago with preinstalled Windows Vista on it. I've downgrade it to XP and installed all drivers and new BIOS. Recently (not right after installation) very strange behaviour was appeared on my laptop - it starts to beep after POST screen and when enetring BIOS(continiously). In addition, in XP every popup menu is accompanied by continous beep sound. Also in every text field (including Word ,Notepad pages , etc)  windows writes '/' symbol until i close it.. Sometimes this behaviour dissapearing, but only for time.
    I've already tried:
    1) install new Win XP/2000
    2) back to old BIOS
     Any suggestions, guys? I need help! 

    I haven't found this beep symptom - after restarting it beeps once and for a long time (meahwhile i have balck screen with cursor blinking), after that normal booting continues. But the problem mainly in XP itself - it doesn't allow me to open any window with edit text box. For example, start->run brings up window and it is immediately filled up by '///////////////////////////' ???

  • Strange behaviour when setting client_info and module in v$session

    Hello,
    I've tried to set the CLIENT_INFO field in V$SESSION using DBMS_APPLICATION_INFO.SET_CLIENT_INFO but found a strange behaviour.
    Normally the forms modules seems to set the field MODULE in V$SESSION to its name. If I use DBMS_APPLICATION_INFO.SET_CLIENT_INFO the CLIENT_INFO field is set correctly but the MODULE field is set to 'frmweb.exe' instead of the forms modules name.
    I also tried to set the MODULE using DBMS_APPLICATION_INFO.SET_MODULE but then strangely the MODULE and MODULE_HASH field of the original frmweb.exe (the main applet?) entry and the entry for the forms module were the same (set to the new module name). From now on every newly opened module had 'frmweb.exe' as the module entry until I closed the forms application.
    Example:
    Entries in V$SESSION:
    -- After start of forms application there is only one entry for the process:
    PROCESS           MODULE            MODULE_HASH            CLIENT_INFO
    1596:7204         frmweb.exe        854945150
    -- When a new forms module is opened it looks like this:
    PROCESS           MODULE            MODULE_HASH            CLIENT_INFO
    1596:7204         frmweb.exe        854945150
    1596:7204         my_module         1929284615
    -- When the modified forms module that sets the client_info/module is opened this happens:
    PROCESS           MODULE            MODULE_HASH            CLIENT_INFO
    1596:7204         mod_module        3097977240
    1596:7204         mod_module        3097977240             my client info
    1596:7204         my_module         1929284615As one can see the entry of the forms application seems to be overriden (at least the MODULE and MODULE_HASH fields) but the CLIENT_INFO only changes for one of the entries?
    The following code is responsible for the changes of CLIENT_INFO and MODULE:
        -- get client info
        client_info :=
            webutil_clientinfo.get_ip_address
            || ' (' ||
            webutil_clientinfo.get_user_name
            || ')'
        -- set client info
        DBMS_APPLICATION_INFO.SET_CLIENT_INFO(client_info);
        -- get module (set action to '')
        DBMS_APPLICATION_INFO.SET_MODULE(name_in('system.current_form'),''); I really don't understand, why it does not work properly.
    Any help is appreciated!
    Thanks in advance.

    This was an application module pooling, activation / passivation issue.
    After view objects had been set-up correctly, the problem disappeared.

  • Strange behaviour when using connection pooling with proxy authentication

    All
    I have developed an ASP.NET 1.1 Web application that uses ODP.NET 9.2.0.4 accessing Oracle Database 8i (which is to be upgraded to 10g in the coming months). I have enabled connection pooling and implemented proxy authentication.
    I am observing a strange behaviour in the live environment. If two users (User 1 and User 2) are executing SQL statements at the same time (concurrent threads in IIS), the following is occurring:
    * User 1 opens a new connection, executes a SELECT statement, and closes this connection. The audit log, which uses the USER function, shows User 1 executed this statement.
    * User 2 opens the same connection (before it is released to the connection pool?), excutes an INSERT statement, and closes this connection. The audit log shows User 1, not User 2, executed this statement.
    Is this a known issue when using connection pooling with proxy authentication? I appreciate your help.
    Regards,
    Chris

    Hi Chris,
    I tried to reproduce your complaint, but was unable to. I didnt use auditting however, just a series of "select user from dual" with proxy authentication. You might want to see if you can put together a small complete testcase for this and open a sr with support.
    Cheers
    Greg

  • TCD - Peripheral Call Type 9 & 10 Strange Behaviour

    Hi all,
    I'm trying to get to the bottom of what causes ICM/UCCE to label a TCD record with Peripheral Call Type 9 or 10.
    9 = Out
    10 = Agent Inside
    These values are used to populate the interval tables with ExternalOut and InternalOut
    I'm seeing strange behaviour in that external calls are being classified PCT 10. Its worse on 1 pg pair and cucm cluster than the other (both pims agent ext length is 4 if this has any bearing).
    From Europe PG and CUCM, most ExtOut calls are correctly classified as 9 (about 95%), but there are some 10:
    DateTime
    PeripheralCallType
    DigitsDialed
    CallDisposition
    CallDispositionFlag
    18/02/2013 15:10:08
    9
    00415824xxxxx
    10
    4
    18/02/2013 15:10:34
    10
    00415824xxxxx
    10
    4
    But for Asia PG and CUCM, most ExtOut calls are classified as 10 (about 98%), but again there are some with the correct 9:
    DateTime
    PeripheralCallType
    DigitsDialed
    CallDisposition
    CallDispositionFlag
    18/02/2013 11:54:14
    10
    0080346xxxxx
    14
    1
    18/02/2013 12:09:59
    9
    0080302xxxxx
    14
    1
    For info I also see external calls with dispostion 10 and 4 in Asia as Agent Inside so it doesn't seem to tie up with that.
    Any thoughts on what could be the cause, I'm kind of thinking along the lines of CUCM on net/off net or soemthing like that?
    Thanks
    Neil

    Attached the full length TCD record.
    Also found a pdf document id 67988 External Calls Appear as Internal in IPCC Statistics which says:
    CauseThis problem occurs due to a change in Cisco JTAPI version. In earlier versions of Cisco JTAPI, when a
    caller calls an address outside the cluster, Cisco CallManager delivers the CallCtlConnNetworkReachedEv
    and CallCtlConnNetworkAlertingEv events for the far−end address.
    Cisco CallManager version 4.0 and later do not deliver these events. In these versions, the CallCtlConnection
    for the far−end address goes to the ESTABLISHED state from the OFFERED state. The application receives
    the CallCtlConnOfferedEv and CallCtlConnEstablishedEv events for the far−end address. The application
    does not receive the CallCtlConnNetworkReachedEv and CallCtlConnNetworkAlertingEv events.
    In order to receive the network events, you must turn on the "Allow overlap sending" flag on the route pattern
    configured for the gateway. A new jtapi.ini parameter called "AllowNetworkEventsAfterOffered" is
    introduced to allow the application to control the delivery of these events. Applications that need the network
    events but cannot turn on this flag can use this new ini parameter to receive network events for outgoing calls.
    They are having a PG/CUCM upgrade in a few weeks so its quite possible this may sort it.

  • Strange behaviour, threading?

    Hiya, i have written a program which is showing strange behaviour (only strange becuase i dont understand it). Effectivly its a counter of sorts, which displayed a number on a jpanel. Now when i set a loop running which looks something like this
    for(int run = 0; run < 10000; run++){
        jPanel.counterNo++;
        jPanel.repaint();
    }everything works fine and the screen repaints many times before its finished, but when this loop is initiated by a swing object, in this case a JButton, only the final value is displayed at the end of the loop, as if the jpanel is blocked from repainting until the loop is finished. Could anyone explain to me why this is happening?
    Thanks
    Dori

    You need to call this in a separate (non UI) thread to see the updates hitting the UI
    read the javadocs about Thread, Runnable, and SwingWorker

  • Load-Balancers strange behaviour.

    Hi Gurus,
    I have a kind of a strange behaviour of our our CSS11150 Load-Balancers configured in Active-Standby mode.
    These LBs monitor the servers and the latters report UP and Down state from the Standby unit while they are always UP from teh Active unit.
    Did anyone see this behaviour before?
    Here is the sh version from both of them:
    ActiveLB# sh ver
    Version: ap0610203 (6.10 Build 203)
    Flash (Locked): 3.10 Build 26
    Flash (Operational): 6.10 Build 203
    Type: PRIMARY
    Licensed Cmd Set(s): Standard Feature Set
    Thank you in advance.
    P.S. It's worth mentioning that the servers weren't Down at the time when Standby unit reported Down state.

    This one looks like a bug to me. I would suggest that you upgrade the firmware on the CSS to the latest version. The version that you are running is far behind the present release. I am sure that the upgrade of the firmware should solve the issue.

  • Strange behaviour when running parameterized test

    Hello,
    I am using Flex 4.5 and FlexUnit 4.1 inside of the Flashdevelop IDE and I am experiencing some very strange behaviour.
    If I have 5 parameters to my test the test runs fine. When I add a sixth parameter of the type Array, I get the following error:
    "TypeError: Error #1009: Cannot access a property or method of a null object reference."
    Please see below for my example code.
    The following parameterized test case runs without a problem:
    package {
        import org.flexunit.runners.Parameterized;
        [RunWith('org.flexunit.runners.Parameterized')]
        public class ParameterizedTest {
            [Parameters]
            public static var testData:Array = [
                [1,1,new Array(),1,1]
            public function ParameterizedTest(
                param1:uint,
                param2:uint,
                param3:Array,
                param4:uint,
                param5:uint
            ):void {
            [Test]
            public function testOne():void {
                // Test to go here.
    When I add an Array as the sixth parameter :
    package {
        import org.flexunit.runners.Parameterized;
        [RunWith('org.flexunit.runners.Parameterized')]
        public class ParameterizedTest {
            [Parameters]
            public static var testData:Array = [
                [1,1,new Array(),1,1,new Array()]
            public function ParameterizedTest(
                param1:uint,
                param2:uint,
                param3:Array,
                param4:uint,
                param5:uint,
                param6:Array
            ):void {
            [Test]
            public function testOne():void {
                // Test to go here.
    I get this error :
    com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.test One (1,1,,1,1,) .
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at flex.lang.reflect::Constructor/newInstanceApply()[E:\hudson\jobs\FlexUnit4-Flex4.1\worksp ace\FlexUnit4\src\flex\lang\reflect\Constructor.as:253]
        at TestClassRunnerForParameters/createTest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\Flex Unit4\src\org\flexunit\runners\Parameterized.as:455]
        at org.flexunit.runners::BlockFlexUnit4ClassRunner/methodBlock()[E:\hudson\jobs\FlexUnit4-Fl ex4.1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:314]
        at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[E:\hudson\jobs\FlexUnit4-Flex4 .1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:152]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Parameterized/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runners\Parameterized.as:273]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[E:\hudson\jobs\FlexUnit4-Flex4.1 \workspace\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:348]
        at org.flexunit.runner::FlexUnitCore/runRunner()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\ FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:307]
        at org.flexunit.runner::FlexUnitCore/runRequest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:283]
        at org.flexunit.runner::FlexUnitCore/runClasses()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:269]
        at Function/http://adobe.com/AS3/2006/builtin::apply()
        at org.flexunit.runner::FlexUnitCore/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUn it4\src\org\flexunit\runner\FlexUnitCore.as:245]
        at com.berog.proj_drum_machine.tests::TestMain()[E:\Actionscript\projects\DrumMachine\src\co m\berog\proj_drum_machine\tests\TestMain.as:18]
    com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.test One (1,1,,1,1,) E
    Time: 0.013
    There was 1 failure:
    1 com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.tes tOne (1,1,,1,1,) TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at flex.lang.reflect::Constructor/newInstanceApply()[E:\hudson\jobs\FlexUnit4-Flex4.1\worksp ace\FlexUnit4\src\flex\lang\reflect\Constructor.as:253]
        at TestClassRunnerForParameters/createTest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\Flex Unit4\src\org\flexunit\runners\Parameterized.as:455]
        at org.flexunit.runners::BlockFlexUnit4ClassRunner/methodBlock()[E:\hudson\jobs\FlexUnit4-Fl ex4.1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:314]
        at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[E:\hudson\jobs\FlexUnit4-Flex4 .1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:152]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Parameterized/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runners\Parameterized.as:273]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[E:\hudson\jobs\FlexUnit4-Flex4.1 \workspace\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:348]
        at org.flexunit.runner::FlexUnitCore/runRunner()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\ FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:307]
        at org.flexunit.runner::FlexUnitCore/runRequest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:283]
        at org.flexunit.runner::FlexUnitCore/runClasses()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:269]
        at Function/http://adobe.com/AS3/2006/builtin::apply()
        at org.flexunit.runner::FlexUnitCore/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUn it4\src\org\flexunit\runner\FlexUnitCore.as:245]
        at com.berog.proj_drum_machine.tests::TestMain()[E:\Actionscript\projects\DrumMachine\src\co m\berog\proj_drum_machine\tests\TestMain.as:18]
    FAILURES!!! Tests run: 1, 1 Failures:
    Can anyone help me?

    Actually, I do see what's wrong.
    When you call a method in the ActionScript universe, you can can usually do a function.apply() and pass it a variable number of args. Unfortunately, constructors are the one type of method where this doesn't work. You can't actually do an apply() so we have to fake it by having a map of static functions which each know how to apply a given number of arguments to the constructor. There is a check in the code that tests if the number of arguments you have exceeds what our static map knows how to apply.
    It looks like that check should have thrown the error:
    throw new ArgumentError("Sorry, we can't support constructors with more than " + argMap.length + " args out of the box... yes, its dumb, take a look at Constructor.as to modify on your own");
    It didn't and I am guessing its because there is a border condition here. So, what happening is that we only support up to 5 arguments right now. That number is arbitrary. When it was written it just seemed like a reasonable number, however, this class was written before Parameterized testing was introduced.
    Your three choices right now would be to use the TestNG style of Parameterized testing, which uses functions and not constructor args so it will not suffer this same fate, change the code and compile flexunit for yourself, or we could put a patched Constructor class in your project which fixes it. Longer term, I would like you to file a bug that we should increase the number to 10 or some other quasi-reasonable number. We will never be able to support an infinite number and we will always need to pick som arbitrary line in the sand. It just seems our line should be farther out.
    Mike

Maybe you are looking for