public SuburbPriceData getHousePriceOfSuburbTest([PexAssumeUnderTest] DBConnect target, string suburbName)
        {
            SuburbPriceData result = target.getHousePriceOfSuburb(suburbName);

            return(result);
            // TODO: add assertions to method DBConnectTest.getHousePriceOfSuburbTest(DBConnect, String)
        }
        public SuburbPriceData getHousePriceOfSuburb(string suburbName)
        {
            if (connection.State == ConnectionState.Closed)
            {
                OpenConnection();
            }
            var          priceQuery = "select ranking, suburb, price1, price2, price3, price4, price5 from where2next.suburbPrice2 where suburb = @suburbname";
            SqlCommand   cmd        = new SqlCommand(priceQuery, connection);
            SqlParameter snameParam = new SqlParameter("@suburbname", SqlDbType.VarChar, 40);

            snameParam.IsNullable = false;
            snameParam.Value      = suburbName;
            cmd.Parameters.Add(snameParam);
            cmd.Prepare();

            using (var dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            {
                if (dataReader.HasRows && dataReader.Read()) // this relies on the (shaky) assumption that if the first condition evaluates to false, the program will stop checking...
                {
                    var rank   = dataReader.GetInt64(0) as long? ?? 0;
                    var name   = (string)dataReader["suburb"] as string ?? "null";
                    var price1 = (int)dataReader["price1"] as int? ?? 0;
                    var price2 = (int)dataReader["price2"] as int? ?? 0;
                    var price3 = (int)dataReader["price3"] as int? ?? 0;
                    var price4 = (int)dataReader["price4"] as int? ?? 0;
                    var price5 = (int)dataReader["price5"] as int? ?? 0;

                    var priceData = new SuburbPriceData(rank, name, price1, price2, price3, price4, price5);
                    return(priceData);
                }
                else
                {
                    return(new SuburbPriceData()); // The 'nullish' version of our data object
                }
            }
        }