Wednesday, August 11, 2010

EnumerationExtensions

Here is an extension that helps with bitwise operations on (flagged) enums.


[Flags]
public enum Positions
{
None = 0,
Left = 1,
Right = 2,
Top = 4,
Bottom = 8,
}


public static class EnumerationExtensions
{
public static T Append(this Enum type, T value)
{
return (T)(object)(((int)(object)type | (int)(object)value));
}

public static T Remove(this Enum type, T value)
{
return (T)(object)(((int)(object)type & ~(int)(object)value));
}

public static bool Contains(this Enum type, T value)
{
return (((int)(object)type & (int)(object)value) == (int)(object)value);
}

public static bool ContainsAny(this Enum type, T value)
{
return (((int)(object)type & (int)(object)value) != 0);
}

public static bool ContainsNot(this Enum type, T value)
{
return !Contains(type, value);
}

public static bool Is(this Enum type, T value)
{
return (((int)(object)type == (int)(object)value));
}
}


then you'll be able to write tests like this :


Positions twoPositions = Positions.Left | Position.Top;
Console.WriteLine(twoPositions.Contains(Position.Top)) // true

Positions position = Positions.None;
position.Append(Position.Bottom);
Console.WriteLine(position.Is(Position.Bottom)); // true (None is overwritten)

Sunday, January 10, 2010

Comparing (Open)Office documents versions using TortoiseSVN !

Call me a noob for not knowing this already, but I just discovered a ‘prittttty’ useful trick for comparing Office (/ OpenOffice) documents versions. (Windows boxes only sorry)
Cool thing is that Word and Excel 2007 support documents comparisons / reviewing.
And called with the right arguments, reviewing can be automated using external tools.

See, as I’ve got my technical documents versioned by SVN along with my code files, I discovered TortoiseSVN is capable of launching different Diff/Merge tools based on the file extension.
You will only need to provide it with some script files that are not currently packaged with the Tortoise setup.

diff-scripts on github

Simply put them into the Diff-Scripts folder of your tortoise setup

“C:\Program Files\TortoiseSVN\Diff-Scripts\”

Then you can right-click on your .docx / .xlsx / .ppt / .od* / .sxw document that are under revisioning control and needs to be reviewed/committed and simply click ‘Diff’ in the TortoiseSVN right-click menu.

It will open the corresponding software in review mode.

Have a look at what it looks like in Word :


neat !

Sunday, August 30, 2009

10 Things Every Senior Flash Developer Should Know

10 Things Every Senior Flash Developer Should Know: "I’ve interviewed quite a few Flash/Flex developers as potential employees for Roundarch. The hard part for me is knowing exactly what questions to ask to be able to gauge a Flash dev’s skill level.
So, I made a list. From my experience this list allows me to judge the skill level and experience of the devs [...]"

Friday, August 14, 2009

Flex Monkey UI Testing, repetitive task record and playback

Time for you to Touch our Monkey: "Today, we (Gorilla Logic) announced the first production release of FlexMonkey, our open source Flex and AIR testing tool. We started building the tool last year because we were having a hard time finding anything that really allowed for testing Flex applications in a meaningful way. We soon found we were not the [...]"