Question: I recently was given control of a project that is based on the Codeblocks IDE. This project consists of large make scripts, gcc for motorola microcontrollers, and example C programs. The code is under subversion source-control, but there are no test scripts.

I am wondering what the best test package for windows based software is. I would like the ability to launch the software, open a project and compile. Then I would look in the output directory for specific files, binaries, etc. I have the ability to provision a dedicated VM to this task.

I'm wondering if there's a better way for testing than fully launching the IDE and clicking through menus.

I wish this project was assembled with Test-driven development in mind, but now I'm being forced to add in test afterwards.

Thanks for any advice u might have

Answer: 
Let's say you were making an index for a book, but you don't know how many indices you will need. You could make a class `BookIndex extends ArrayList<String>` or if you want to get really picky: `BookIndex extends ArrayList<IndexEntry>`.

/e1
Also, when a one Class extends a generic Class like `ArrayList<String>` you **can** grab the `String` out from the generic declaration, unlike if you had a class `ArrayList<T>`. In `ArrayList<T>` you would never be able to figure out what the `T` is.
You can extend class `ArrayList`, but it is not something that you should normally do.  

Only ever say "`extends`" when you can truthfully say "`this class IS-A that class.`" 

Remember, *Its not a good practise **to extend** the standard classes*

Why not use like this ? 

```
public class Sub {
    List<String> s = new ArrayList<String>();
    // .. 
    // ...
}

```