15,904,153 members
Sign in
Sign in
Email
Password
Forgot your password?
Sign in with
home
articles
Browse Topics
>
Latest Articles
Top Articles
Posting/Update Guidelines
Article Help Forum
Submit an article or tip
Import GitHub Project
Import your Blog
quick answers
Q&A
Ask a Question
View Unanswered Questions
View All Questions
View C# questions
View C++ questions
View Javascript questions
View Visual Basic questions
View Python questions
discussions
forums
CodeProject.AI Server
All Message Boards...
Application Lifecycle
>
Running a Business
Sales / Marketing
Collaboration / Beta Testing
Work Issues
Design and Architecture
Artificial Intelligence
ASP.NET
JavaScript
Internet of Things
C / C++ / MFC
>
ATL / WTL / STL
Managed C++/CLI
C#
Free Tools
Objective-C and Swift
Database
Hardware & Devices
>
System Admin
Hosting and Servers
Java
Linux Programming
Python
.NET (Core and Framework)
Android
iOS
Mobile
WPF
Visual Basic
Web Development
Site Bugs / Suggestions
Spam and Abuse Watch
features
features
Competitions
News
The Insider Newsletter
The Daily Build Newsletter
Newsletter archive
Surveys
CodeProject Stuff
community
lounge
Who's Who
Most Valuable Professionals
The Lounge
The CodeProject Blog
Where I Am: Member Photos
The Insider News
The Weird & The Wonderful
help
?
What is 'CodeProject'?
General FAQ
Ask a Question
Bugs and Suggestions
Article Help Forum
About Us
Search within:
Articles
Quick Answers
Messages
Articles / Programming Languages / C#
Go to Article
Stats
Revisions
.NET1.1
WinXP
VS.NET2003
C#
Windows
.NET
Visual-Studio
Article Two: Building a UI Platform in C# - Testing via UI Animation
Tom Ollar
,
Jim Bennett
Rate me:
Please
Sign up or sign in
to vote.
4.20/5 (7 votes)
3 Mar 2005
5 min read
51.4K
927
33
Describes an implementation of UI animation for the support of Test-Driven Development.
articletwodemo.zip
ApplicationZero.exe
freeBlix.dll
PlayerCases.dll
PlayerCases
Cases.xml
Masters
Case0001MouseMove.master
Case0001MouseMove.master.txt
Case0002LeftMouseDown.master
Case0002LeftMouseDown.master.txt
Case0003LeftMouseUp.master
Case0003LeftMouseUp.master.txt
Case0004MouseDrag.master
Case0004MouseDrag.master.txt
Case0005HotSolid.master
Case0005HotSolid.master.txt
Case0006MouseOverFrame.master
Case0006MouseOverFrame.master.txt
Case0007DragOverFrame.master
Case0007DragOverFrame.master.txt
Case0008DragOverFrameDrop.master
Case0008DragOverFrameDrop.master.txt
Case0009DragOnePixel.master
Case0009DragOnePixel.master.txt
Case0010DragSolidWidth.master
Case0010DragSolidWidth.master.txt
Case0011DragSolidWidthCancel.master
Case0011DragSolidWidthCancel.master.txt
Case0012DragSolidOverFrameCancel.master
Case0012DragSolidOverFrameCancel.master.txt
Case0013HotSolid.master
Case0013HotSolid.master.txt
Case0014MouseOverWorkspace.master
Case0014MouseOverWorkspace.master.txt
Case0015DragOverWorkspace.master
Case0015DragOverWorkspace.master.txt
Case0016DragOverWorkspaceDrop.master
Case0016DragOverWorkspaceDrop.master.txt
Case0017DragOnePixel.master
Case0017DragOnePixel.master.txt
Case0018DragSolidWidth.master
Case0018DragSolidWidth.master.txt
Case0019DragSolidWidthCancel.master
Case0019DragSolidWidthCancel.master.txt
Case0020DragSolidOverWorkspaceCancel.master
Case0020DragSolidOverWorkspaceCancel.master.txt
Case0021DragHorizontalTweak.master
Case0021DragHorizontalTweak.master.txt
Case0022DragVerticalTweak.master
Case0022DragVerticalTweak.master.txt
Case0023DragHorizontalTweak.master
Case0023DragHorizontalTweak.master.txt
Case0024DragVerticalTweak.master
Case0024DragVerticalTweak.master.txt
Testing.Core.dll
UITestingFramework.dll
articletwosource.zip
Article Two Testing UI Animation Source
ApplicationZero.sln
DragCases
01. Move
Case0001HotSolid.cs
Case0002MouseOverFrame.cs
Case0003DragOverFrame.cs
Case0004DragOverFrameDrop.cs
Case0005DragOnePixel.cs
Case0006DragSolidWidth.cs
Case0007DragSolidWidthCancel.cs
Case0008DragSolidOverFrameCancel.cs
02. Factory
Case0009HotSolid.cs
Case0010MouseOverWorkspace.cs
Case0011DragOverWorkspace.cs
Case0012DragOverWorkspaceDrop.cs
Case0013DragOnePixel.cs
Case0014DragSolidWidth.cs
Case0015DragSolidWidthCancel.cs
Case0016DragSolidOverWorkspaceCancel.cs
03. Move with Tweak
Case0017DragHorizontalTweak.cs
Case0018DragVerticalTweak.cs
04. Factory with Tweak
Case0019DragHorizontalTweak.cs
Case0020DragVerticalTweak.cs
Cases.xml
DragCases.csproj
Masters
Case0001HotSolid.master
Case0001HotSolid.master.txt
Case0001Solid.master
Case0001Solid.master.txt
Case0002Frame.master
Case0002Frame.master.txt
Case0002MouseOverFrame.master
Case0002MouseOverFrame.master.txt
Case0003DragOverFrame.master
Case0003DragOverFrame.master.txt
Case0004DragOverFrameDrop.master
Case0004DragOverFrameDrop.master.txt
Case0005DragOnePixel.master
Case0005DragOnePixel.master.txt
Case0006DragSolidWidth.master
Case0006DragSolidWidth.master.txt
Case0007DragSolidWidthCancel.master
Case0007DragSolidWidthCancel.master.txt
Case0008DragSolidOverFrameCancel.master
Case0008DragSolidOverFrameCancel.master.txt
Case0009HotSolid.master
Case0009HotSolid.master.txt
Case0010MouseOverWorkspace.master
Case0010MouseOverWorkspace.master.txt
Case0011DragOverWorkspace.master
Case0011DragOverWorkspace.master.txt
Case0012DragOverWorkspaceDrop.master
Case0012DragOverWorkspaceDrop.master.txt
Case0013DragOnePixel.master
Case0013DragOnePixel.master.txt
Case0014DragSolidWidth.master
Case0014DragSolidWidth.master.txt
Case0015DragSolidWidthCancel.master
Case0015DragSolidWidthCancel.master.txt
Case0016DragSolidOverWorkspaceCancel.master
Case0016DragSolidOverWorkspaceCancel.master.txt
Case0017DragHorizontalTweak.master
Case0017DragHorizontalTweak.master.txt
Case0018DragVerticalTweak.master
Case0018DragVerticalTweak.master.txt
Case0019DragHorizontalTweak.master
Case0019DragHorizontalTweak.master.txt
Case0020DragVerticalTweak.master
Case0020DragVerticalTweak.master.txt
FlushRun.bat
freeBlix
_Core
BooleanStateCounter
BooleanStateCounter.cs
BooleanStateCounterValueChangedDelegate.cs
ColorMatrix
ColorMatrix.cs
Debouncer
Debouncer.cs
Delegator
Delegator.cs
HitTester
HitTester.cs
IntegerRange
IntegerRange.cs
IVisible
IVisible.cs
JigSensor
JigSensor.cs
JigSensorChangedDelegate.cs
ManagedThreadPool
ManagedThreadPool.cs
ThreadingBaton
IThreadingBaton.cs
ThreadingBaton.cs
Bounds
Bounds
Bounds.cs
IBounds
IBounds.cs
Point
Point
Point.cs
PointCycle
PointCycle.cs
PointDelegates
PointAfterXChangedDelegate.cs
PointAfterYChangedDelegate.cs
PointBeforeXChangedDelegate.cs
PointBeforeYChangedDelegate.cs
Rectangle
Rectangle
Rectangle.cs
RectangleCycle
RectangleCycle.cs
RectangleDelegates
RectangleAfterLocationChangedDelegate.cs
RectangleAfterSizeChangedDelegate.cs
RectangleBeforeLocationChangedDelegate.cs
RectangleBeforeSizeChangedDelegate.cs
Size
InvalidSizeException
InvalidSizeException.cs
Size
Size.cs
SizeCycle
SizeCycle.cs
SizeDelegates
SizeAfterHeightChangedDelegate.cs
SizeAfterWidthChangedDelegate.cs
SizeBeforeHeightChangedDelegate.cs
SizeBeforeWidthChangedDelegate.cs
SizingAnchor
SizingAnchor.cs
Children
AfterChildAddedDelegate.cs
AfterChildRemovedDelegate.cs
BeforeChildAddedDelegate.cs
BeforeChildRemovedDelegate.cs
Children.cs
IChildren.cs
Control
Control.cs
ControlCollection.cs
ControlState
BasicState.cs
ControlState.cs
ControlStateChangedDelegate.cs
IControlState.cs
NullControlState.cs
ControlSystem
ControlSystem.cs
Drag
DragBot
DragBot.cs
DragBotCollection.cs
DragCycle
DragCycle.cs
DragCycleCancelDelegate.cs
DragCycleDragDelegate.cs
DragCycleEndDelegate.cs
DragCycleEnterDelegate.cs
DragCycleLeaveDelegate.cs
DragCycleStartDelegate.cs
DragManifest
DragManifest.cs
DragMouseTrap
DragMouseTrap.cs
DropSite
DropSite.cs
DropSiteCollection.cs
Tweak
Tweak.cs
freeBlix.csproj
Mouse
Mouse
Mouse.cs
MouseTrap
MouseTrap.cs
MouseTrapCollection.cs
Overlays
ControlOverlay
ControlOverlay.cs
DragOverlay
DragOverlay.cs
FormOverlay
FormOverlay.cs
PaintDeck
BackgroundPaintTube
BackgroundPaintTube.cs
Blaster
Blaster.cs
CacheMode
CacheMode.cs
CacheModeEndedDelegate.cs
DragBlaster
DragBlaster.cs
FormBlaster
FormBlaster.cs
Graphics
Graphics.cs
JigPaintTube
JigPaintTube.cs
PaintDeck.cs
SnapShot
SnapShot.cs
SnapShotCollection
SnapShotCollection.cs
Painter
Painter.cs
Player
Instruction
Instruction.cs
InstructionCollection
InstructionCollection.cs
InstructionDelegates
InstructionCompletedDelegate.cs
InstructionStartedDelegate.cs
Instructions
DoubleClickInstruction.cs
LeftMouseClickInstruction.cs
LeftMouseDownInstruction.cs
LeftMouseUpInstruction.cs
MouseMoveInstruction.cs
RightMouseClickInstruction.cs
RightMouseDownInstruction.cs
RightMouseUpInstruction.cs
SetRectangleBottomInstruction.cs
SetRectangleHeightInstruction.cs
SetRectangleLeftInstruction.cs
SetRectangleLocationInstruction.cs
SetRectangleRightInstruction.cs
SetRectangleSizeInstruction.cs
SetRectangleTopInstruction.cs
SetRectangleWidthInstruction.cs
Player
Player.cs
PlayerDelegates
PlayerCompletedDelegate.cs
PlayerStartedDelegate.cs
StopWatch
StopWatch.cs
StopWatchDelegate.cs
XPButton
Painter
XPButtonDefaultPainter.cs
XPButtonDisabledPainter.cs
XPButtonDownPainter.cs
XPButtonHotPainter.cs
XPButtonNormalPainter.cs
XPBlueDefault
XPBlueDefaultBottomLeftCorner.cs
XPBlueDefaultBottomRightCorner.cs
XPBlueDefaultTopLeftCorner.cs
XPBlueDefaultTopRightCorner.cs
XPBlueDefaultXPButtonPainter.cs
XPButton.cs
XPButtonState.cs
Main
Main.csproj
Starter.cs
PlayerCases
01. Instructions
Case0001MouseMove.cs
Case0002LeftMouseDown.cs
Case0003LeftMouseUp.cs
Case0004MouseDrag.cs
02. Move
Case0005HotSolid.cs
Case0006MouseOverFrame.cs
Case0007DragOverFrame.cs
Case0008DragOverFrameDrop.cs
Case0009DragOnePixel.cs
Case0010DragSolidWidth.cs
Case0011DragSolidWidthCancel.cs
Case0012DragSolidOverFrameCancel.cs
03. Factory
Case0013HotSolid.cs
Case0014MouseOverWorkspace.cs
Case0015DragOverWorkspace.cs
Case0016DragOverWorkspaceDrop.cs
Case0017DragOnePixel.cs
Case0018DragSolidWidth.cs
Case0019DragSolidWidthCancel.cs
Case0020DragSolidOverWorkspaceCancel.cs
04. Move with Tweak
Case0021DragHorizontalTweak.cs
Case0022DragVerticalTweak.cs
05. Factory with Tweak
Case0023DragHorizontalTweak.cs
Case0024DragVerticalTweak.cs
Cases.xml
Masters
Case0001MouseMove.master
Case0001MouseMove.master.txt
Case0002LeftMouseDown.master
Case0002LeftMouseDown.master.txt
Case0003LeftMouseUp.master
Case0003LeftMouseUp.master.txt
Case0004MouseDrag.master
Case0004MouseDrag.master.txt
Case0005HotSolid.master
Case0005HotSolid.master.txt
Case0006MouseOverFrame.master
Case0006MouseOverFrame.master.txt
Case0007DragOverFrame.master
Case0007DragOverFrame.master.txt
Case0008DragOverFrameDrop.master
Case0008DragOverFrameDrop.master.txt
Case0009DragOnePixel.master
Case0009DragOnePixel.master.txt
Case0010DragSolidWidth.master
Case0010DragSolidWidth.master.txt
Case0011DragSolidWidthCancel.master
Case0011DragSolidWidthCancel.master.txt
Case0012DragSolidOverFrameCancel.master
Case0012DragSolidOverFrameCancel.master.txt
Case0013HotSolid.master
Case0013HotSolid.master.txt
Case0014MouseOverWorkspace.master
Case0014MouseOverWorkspace.master.txt
Case0015DragOverWorkspace.master
Case0015DragOverWorkspace.master.txt
Case0016DragOverWorkspaceDrop.master
Case0016DragOverWorkspaceDrop.master.txt
Case0017DragOnePixel.master
Case0017DragOnePixel.master.txt
Case0018DragSolidWidth.master
Case0018DragSolidWidth.master.txt
Case0019DragSolidWidthCancel.master
Case0019DragSolidWidthCancel.master.txt
Case0020DragSolidOverWorkspaceCancel.master
Case0020DragSolidOverWorkspaceCancel.master.txt
Case0021DragHorizontalTweak.master
Case0021DragHorizontalTweak.master.txt
Case0022DragVerticalTweak.master
Case0022DragVerticalTweak.master.txt
Case0023DragHorizontalTweak.master
Case0023DragHorizontalTweak.master.txt
Case0024DragVerticalTweak.master
Case0024DragVerticalTweak.master.txt
PlayerCases.csproj
PointCases
01. Basic
Case0001SetX.cs
Case0002SetY.cs
Case0003Copy.cs
Case0004Offset.cs
02. ListenToEvents
Case0005SetX.cs
Case0006SetY.cs
Case0007Copy.cs
Case0008Offset.cs
03. XYandListenToEvents
Case0009SetX.cs
Case0010SetY.cs
Case0011Copy.cs
Case0012Offset.cs
Cases.xml
Masters
Case0001SetX.master
Case0001SetX.master.txt
Case0002SetY.master
Case0002SetY.master.txt
Case0003Copy.master
Case0003Copy.master.txt
Case0004Offset.master
Case0004Offset.master.txt
Case0005SetX.master
Case0005SetX.master.txt
Case0006SetY.master
Case0006SetY.master.txt
Case0007Copy.master
Case0007Copy.master.txt
Case0008Offset.master
Case0008Offset.master.txt
Case0009SetX.master
Case0009SetX.master.txt
Case0010SetY.master
Case0010SetY.master.txt
Case0011Copy.master
Case0011Copy.master.txt
Case0012Offset.master
Case0012Offset.master.txt
PointCases.csproj
RectangleCases
Case0001SetLeft.cs
Case0002SetTop.cs
Case0003SetRight.cs
Case0004SetBottom.cs
Case0005SetWidth.cs
Case0006SetHeight.cs
Case0007SetRightSetWidth.cs
Case0008SetBottomSetHeight.cs
Case0009SetLocation.cs
Case0010SetTopLeft.cs
Case0011SetTopRight.cs
Case0012SetBottomRight.cs
Case0013SetBottomLeft.cs
Case0014SetSize.cs
Case0015SetWidthException.cs
Case0016SetHeightException.cs
Case0017CopyRectangle.cs
Case0018NarrowIntersectsWide.cs
Case0019WideIntersectsNarrow.cs
Case0020Union.cs
Case0021UnionWithEmpty.cs
Case0022NoIntersection.cs
Cases.xml
Masters
Case0001SetLeft.master
Case0001SetLeft.master.txt
Case0002SetTop.master
Case0002SetTop.master.txt
Case0003SetRight.master
Case0003SetRight.master.txt
Case0004SetBottom.master
Case0004SetBottom.master.txt
Case0005SetWidth.master
Case0005SetWidth.master.txt
Case0006SetHeight.master
Case0006SetHeight.master.txt
Case0007SetRightSetWidth.master
Case0007SetRightSetWidth.master.txt
Case0008SetBottomSetHeight.master
Case0008SetBottomSetHeight.master.txt
Case0009SetLocation.master
Case0009SetLocation.master.txt
Case0010SetTopLeft.master
Case0010SetTopLeft.master.txt
Case0011SetTopRight.master
Case0011SetTopRight.master.txt
Case0012SetBottomRight.master
Case0012SetBottomRight.master.txt
Case0013SetBottomLeft.master
Case0013SetBottomLeft.master.txt
Case0014SetSize.master
Case0014SetSize.master.txt
Case0015SetWidthException.master
Case0015SetWidthException.master.txt
Case0016SetHeightException.master
Case0016SetHeightException.master.txt
Case0017CopyRectangle.master
Case0017CopyRectangle.master.txt
Case0018NarrowIntersectsWide.master
Case0018NarrowIntersectsWide.master.txt
Case0019WideIntersectsNarrow.master
Case0019WideIntersectsNarrow.master.txt
Case0020Union.master
Case0020Union.master.txt
Case0021UnionWithEmpty.master
Case0021UnionWithEmpty.master.txt
Case0022NoIntersection.master
Case0022NoIntersection.master.txt
RectangleCases.csproj
Run
UITestingFramework.dll
SizeCases
01.Basic
Case0001SetWidth.cs
Case0002SetHeight.cs
Case0003Copy.cs
02.EventCycle
Case0004SetWidth.cs
Case0005SetHeight.cs
Case0006Copy.cs
03.Exception
Case0007SetWidthException.cs
Case0008SetHeightException.cs
Cases.xml
Masters
Case0001SetWidth.master
Case0001SetWidth.master.txt
Case0002SetHeight.master
Case0002SetHeight.master.txt
Case0003Copy.master
Case0003Copy.master.txt
Case0004SetWidth.master
Case0004SetWidth.master.txt
Case0005SetHeight.master
Case0005SetHeight.master.txt
Case0006Copy.master
Case0006Copy.master.txt
Case0007SetWidthException.master
Case0007SetWidthException.master.txt
Case0008SetHeightException.master
Case0008SetHeightException.master.txt
SizeCases.csproj
Testing.Core
DragCase
Attributes
DragAttribute.cs
FactoryAttribute.cs
MoveAttribute.cs
TweakAttribute.cs
DragColorSample
DragColorSample.cs
DragState
DragState.cs
DragStateCollection
DragStateCollection.cs
FactoryDragCase
FactoryDragBot
FactoryDragBot.cs
FactoryDragCase
FactoryDragCase.cs
FactoryDropSite
FactoryDropSite.cs
MatchstickInterfaces
IDragStateCollection.cs
Matchsticks
DragStateCollectionMatchStick.cs
MoveDragCase
MoveDragBot
MoveDragBot.cs
MoveDragCase
MoveDragCase.cs
MoveDropSite
MoveDropSite.cs
TweakFactoryDragCase
TweakFactoryDragCase.cs
TweakMoveDragCase
TweakMoveDragCase.cs
Tweaks
HorizontalTweak.cs
VerticalTweak.cs
Factories
FactoryDragFactory.cs
MoveDragFactory.cs
LineIndicator
LineIndicator.cs
MatchStickInterfaces
IBottom.cs
IExceptionMessage.cs
IHeight.cs
ILeft.cs
IRight.cs
IText.cs
ITop.cs
IWidth.cs
IX.cs
IY.cs
MatchSticks
BottomMatchStick.cs
ColorCollectionMatchStick.cs
ExceptionMessageMatchStick.cs
HeightMatchStick.cs
LeftMatchStick.cs
RightMatchStick.cs
TopMatchStick.cs
WidthMatchStick.cs
XMatchStick.cs
YMatchStick.cs
PaintCase
IPaintStateCollection.cs
PaintCase.cs
PaintState.cs
PaintStateCollection.cs
PaintStateCollectionMatchStick.cs
RectangleColorSample.cs
PlayerCase
Attributes
InstructionAttribute.cs
MatchstickInterfaces
IPlayerStateCollection.cs
Matchsticks
PlayerStateCollectionMatchStick.cs
PlayerCase.cs
PlayerState.cs
PlayerStateCollection.cs
PointCase
Attributes
BasicAttribute.cs
CycleAttribute.cs
XYAttribute.cs
PointCase.cs
PointState.cs
RectangleCase
MatchstickInterfaces
IRectangleIntersects.cs
Matchsticks
RectangleIntersectsMatchStick.cs
RectangleCase.cs
RectangleIntersection
RectangleIntersection.cs
RectangleState.cs
SizeCase
Attributes
ExceptionAttribute.cs
SizeCase.cs
SizeState.cs
Stone
Stone.cs
StonePad
StonePad.cs
Testing.Core.csproj
TestingServices
TestingServices.cs
XPButtonCase
Attributes
XPButtonAttribute.cs
MatchstickInterfaces
IXPButtonCaseStateCollection.cs
Matchsticks
XPButtonCaseStateCollectionMatchStick.cs
XPButtonCase.cs
XPButtonCaseState.cs
XPButtonCaseStateCollection.cs
XPButtonCases
01. Paint
Case0001Base.cs
Case0002Hot.cs
Case0003Down.cs
Case0004Disabled.cs
Case0005Focused.cs
Case0006Default.cs
02. Player
Case0007Hot.cs
Case0008HotThenCold.cs
Case0009Down.cs
Case0010Click.cs
Case0011Disabled.cs
Case0012Focused.cs
Case0013Default.cs
Case0014Hide.cs
Case0015DownThenLeave.cs
Case0016DownThenCancel.cs
Cases.xml
Masters
Case0001Base.master
Case0001Base.master.txt
XPButtonCases.csproj