Friday, July 26, 2013

Writing Testable ArcObjects Applications - Part 3 - Unit Test Structure

In the previous post I described the concept of inversion of control and how to decouple classes from their dependencies using interfaces.  The objective of doing this is to make the business logic more testable, which now brings us to testing.  However, before I jump into mocking ArcObjects code, in this post I will discuss the structure of tests, which will give some context to the unit tests I will discuss in the next topic.

Sunday, July 7, 2013

Writing Testable ArcObjects Applications - Part 2 - Inversion Of Control

In my last blog post I introduced the subjects of Inversion of Control (IoC) and Mocking for unit testing, and this week, as promised, I will now delve into more specific detail about applying these concepts to applications written using ArcObjects.

My focus in this article will be designing code using the SOLID principle of Dependency Inversion, and the use of Inversion of Control (IoC) frameworks for wiring applications up at runtime.

Sunday, June 30, 2013

Writing Testable ArcObjects Applications - Part 1

Having previously worked in a software product development company for a number of years, and now back working with Esri technology again, I have been a little surprised by how few internet articles there are related to Unit Testing, Mocking, and Inversion of Control for applications built with ArcObjects, so I thought it might be fun to do a multiple article series on writing testable applications using ArcObjects.

Tuesday, March 12, 2013

Green Framing All The Things!


This will appear to be a strange subject to post about considering my other content, but I recently went through a positive thinking reset, and I was surprised and amazed by some of the results, so I thought I would share.

Thursday, December 13, 2012

Serving-up ArcGIS Map Tiles From Amazon S3


Its been a long time since my last blog article, having changed jobs late last year and being in "the zone" getting up to speed with how my new company operates, and responding to new challenges that my new role brings.  However I recently had a chance to utilise Amazon Web Services' S3 service for publishing map tile caches, and since I wasn't able to find a great depth of information on the subject I figured I would post about it.

Tuesday, October 25, 2011

Serving-up GeoJSON while having a REST on the GeoCouch

Wow, it's been a while.  Between having my tonsils removed (which is not pleasant as an adult), to finishing up with my employer of 11 years and starting a new job, things have been rather hectic over the last few months, but I have found time to put together my third post on my GeoJSON adventure that I have been dabbling with for the last 6 months or so.


I set out on this GeoJSON journey to investigate the definition as a spatial format specification, and to see what I could get for free in terms of interoperability, and I have been pleasantly surprised by the number of applications that support the format.


In my first post on Tile5 rendering GeoJSON I was interested mainly on the map rendering side of things and what I needed to do to massage my data into GeoJSON to take advantage of that rendering.


In my second post on Leaflet rendering GeoJSON passed from ExpressJS/NodeJS I delved more into the interoperability of GeoJSON between Leaflet on the client, and the javascript application server serving data from PostGIS, which was able to return query results in GeoJSON format.


In this third post I have taken the next step, storing my GeoJSON data in a NoSql database - CouchDB, and exposing it directly from the database to the client.

Monday, August 8, 2011

Nought to PostGIS in 6.3 seconds…almost

In a recent post I decided to investigate some technologies that were new to me, such as leaflet, node.js and express, but in addition to these I had never interacted with PostgreSQL/PostGIS before either, so setting up PostGIS was part of my learning exercise.  Being a noob when it came to PostgreSQL and PostGIS, and fairly inexperienced in linux generally, I was able to find the information I needed to get going, but I thought I would pool it together in one location so others can see what I had to do to get my spatial database and queries working in PostGIS, for any other new comers to PostGIS to learn from as well.