From d9c87d59e0648b6fd0d765519622a411fb6205d4 Mon Sep 17 00:00:00 2001 From: Krishna Vedala <7001608+kvedala@users.noreply.github.com> Date: Fri, 17 Jul 2020 21:10:32 -0400 Subject: [PATCH] add assertions' --- sorting/gnome_sort.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/sorting/gnome_sort.cpp b/sorting/gnome_sort.cpp index be2955a51..5d34aa9ee 100644 --- a/sorting/gnome_sort.cpp +++ b/sorting/gnome_sort.cpp @@ -17,6 +17,7 @@ #include // for std::swap #include // for std::array +#include // for assertions #include // for io operations /** @@ -32,7 +33,8 @@ namespace sorting { template void gnomeSort(T *arr, int size) { // few easy cases - if (size <= 1) return; + if (size <= 1) + return; int index = 0; // initialize some variables. while (index < size) { @@ -58,7 +60,8 @@ void gnomeSort(T *arr, int size) { template std::array gnomeSort(std::array arr) { // few easy cases - if (size <= 1) return; + if (size <= 1) + return; int index = 1; // initialize loop index while (index < size) { @@ -80,17 +83,23 @@ std::array gnomeSort(std::array arr) { static void test() { // Example 1. Creating array of int, std::cout << "Test 1 - as a C-array..."; - int size = 6; + const int size = 6; std::array arr = {-22, 100, 150, 35, -10, 99}; - sorting::gnomeSort(arr.data, size); + sorting::gnomeSort(arr.data(), + size); // pass array data as a C-style array pointer + assert(std::is_sorted(std::begin(arr), std::end(arr))); + std::cout << " Passed\n"; // for (int i = 0; i < size; i++) std::cout << arr[i] << " "; - - std::cout << "\n" << std::endl; + std::cout << std::endl; // Example 2. Creating array of doubles. + std::cout << "Test 2 - as a std::array..."; std::array double_arr = {-100.2, 10.2, 20.0, 9.0, 7.5, 7.2}; std::array sorted_arr = sorting::gnomeSort(double_arr); + assert(std::is_sorted(std::begin(sorted_arr), std::end(sorted_arr))); + std::cout << " Passed\n"; for (int i = 0; i < size; i++) std::cout << double_arr[i] << " "; + std::cout << std::endl; } /**