Features of Strong Test Frameworks

In the previous article I made the case for Automated Testing. Today we will talk about the tools.

  • What qualities does a strong testing framework have?
  • What guidelines should developers use when choosing one?
  • Why do those guidelines matter?
  • What tools would I recommend?

I will use the terms Harness, Framework and Library interchangeably. Be warned.

All of this and more, after a few choice bold words, a digit, a hash, and a hyphen.

Continue reading “Features of Strong Test Frameworks”

INI Based Settings in C#/XNA

One of my first issues to handle in this, the second phase of development for hades, has been how to store settings. Of course I could have gone an XML approach, but it is not at all what people are accustomed to – we like ini files. Section, Key = Value… NEXT! Well, while the horn may have sounded in terms of figuring this out, putting things into action is a bit more involved, but not too much so.

For those of you who have worked with Unreal or looked at the configuration files for most any linux application you likely found something similar to the following:

[Engine.GameInfo]
DefaultGame=Fulcrum.FulcrumGame
DefaultServerGame=Fulcrum.FulcrumGame
bAdminCanPause=false
MaxPlayers=32
GameDifficulty=+1.0
bChangeLevels=True

This example shows off all of the typical features of an INI file based approach for storing settings, and I am fully intending to use it in Hades, but how do we start? We have to establish a couple of requirements to paint the picture fully…

Continue reading “INI Based Settings in C#/XNA”

Languages Span!

I have often been caught in the cross fire of the ongoing and awfully brutal and emotional language wars. I am a C programmer by choice and a PHP/Perl Developer by trade, so I get some of the most heated and misfortunate of the angry or emotionally charged responses from people who just do not know a god damned thing about what they are talking about. Scarier is when I hear absurdities from people who actually do know something about their topic. For some reason they want to stick their toes into my pool and do not like the temperature of the water so they go into a tirade about how I should change the color of the water with some dye and install a heater, oh and the chlorine content is too low or too high and algae will form; who knows, maybe you should add this algae snake as well to keep it from getting to the bottom! I apologize for the extended analogy here but it stands. It is important that Comp Sci. and Developers alike learn at least one thing about languages before they enter the market and end up coding themselves into a corner – There is no such thing as a language level, Languages Span!

Continue reading “Languages Span!”

Changes are in the wind…

school has begun, and this winter quarter I am expanding my math as usual, but also undertaking something I am not quite sure why I dreaded. Java is being added to my arsenal and as with the other languages I have developed I plan to release whatever applications I create. I have only been in class a couple days but I really doubt it will provide me with much of a challenge to be able to cause me the hours of frustration that I spent in the computer lab with my introductory courses.

I have also begun working on my UT3 Packaging utility…

Continue reading “Changes are in the wind…”

Viewer Mail #2

I received an email a couple days ago and I have been trying to figure out how to approach it, until now.

Hey man,

I am new to coding, obviously, and I love your tutorials on hl2, but I have this distinct feeling that I’m missing something. I coded in VB for a while and it was a lot of fun to see what I was able to do with a few nouns and verbs, talk about words in action, but there was something that has always blown my mind, and I figured I would bounce it off of you. So here goes bro.

When I was in class a couple nights ago we went over random access files, which are neat in their own right, but since I ran into that I have been trying to figure out a file type to use for my own application. The values are going to have to be user editable/readable, but what are some of the options for it?

Thanks a bunch and keep up the good work!
Adam.

Continue reading “Viewer Mail #2”

My GUI Designer is coming along

I just finished the key values class and its rolling pretty well. Lots of the same features as the one I wrote in C++ but this one I had the honor of designing, and design I did. The class in c# is has dynamic data structures, an array list, sorted list, writing this class over in C++ has been great because I got the chance to put some thought into an old data structure I hadn’t touched in a while.

Continue reading “My GUI Designer is coming along”

Keys && Values

the last couple days I have been working on a C++ class that is quite interesting, and inspired by Half Life 2. HL2 is highly dependant on key value paired files, everything from the weapons to the GUI to the keys are all handled with the same system of keys and values. I recently released an application, the mod manager, which is written in C# and handles the key value files fine. I’m now moving my GUI application to C++ since I want the application to be free of dependency to .net, and I have to work my C++ magic to get the files read properly.

Ill add the file to a repository here when its done.
Keep an eye out.