diff --git a/test/.gitignore b/test/.gitignore index 38bc7bb35..2c85bd59d 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -4,7 +4,6 @@ *.log *.runlog col.t -dates.t eval.t lexer.t t.t diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b76b2fb77..0d9bd2a8c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -14,7 +14,7 @@ include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/test ${TASK_INCLUDE_DIRS}) -set (test_SRCS col.t t.t tdb2.t util.t view.t lexer.t eval.t dates.t variant_add.t variant_and.t variant_cast.t variant_divide.t variant_equal.t variant_exp.t variant_gt.t variant_gte.t variant_inequal.t variant_lt.t variant_lte.t variant_match.t variant_math.t variant_modulo.t variant_multiply.t variant_nomatch.t variant_not.t variant_or.t variant_partial.t variant_subtract.t variant_xor.t) +set (test_SRCS col.t t.t tdb2.t util.t view.t lexer.t eval.t variant_add.t variant_and.t variant_cast.t variant_divide.t variant_equal.t variant_exp.t variant_gt.t variant_gte.t variant_inequal.t variant_lt.t variant_lte.t variant_match.t variant_math.t variant_modulo.t variant_multiply.t variant_nomatch.t variant_not.t variant_or.t variant_partial.t variant_subtract.t variant_xor.t) add_custom_target (test ./run_all --verbose DEPENDS ${test_SRCS} task_executable diff --git a/test/dates.t.cpp b/test/dates.t.cpp deleted file mode 100644 index 459a459b6..000000000 --- a/test/dates.t.cpp +++ /dev/null @@ -1,174 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Copyright 2013 - 2017, Göteborg Bit Factory. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// http://www.opensource.org/licenses/mit-license.php -// -//////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -void testInit (UnitTest& t, const std::string& value, Datetime& var) -{ - try - { - var = Datetime (value); - t.pass (value + " --> valid"); - } - - catch (const std::string& e) - { - t.fail (value + " --> valid"); - t.diag (e); - } - - catch (...) - { - t.fail (value + " --> valid"); - } -} - -//////////////////////////////////////////////////////////////////////////////// -int main (int, char**) -{ - UnitTest t (101); - - Datetime sunday; testInit (t, "sunday", sunday); - Datetime monday; testInit (t, "monday", monday); - Datetime tuesday; testInit (t, "tuesday", tuesday); - Datetime wednesday; testInit (t, "wednesday", wednesday); - Datetime thursday; testInit (t, "thursday", thursday); - Datetime friday; testInit (t, "friday", friday); - Datetime saturday; testInit (t, "saturday", saturday); - - Datetime sun; testInit (t, "sun", sun); - Datetime mon; testInit (t, "mon", mon); - Datetime tue; testInit (t, "tue", tue); - Datetime wed; testInit (t, "wed", wed); - Datetime thu; testInit (t, "thu", thu); - Datetime fri; testInit (t, "fri", fri); - Datetime sat; testInit (t, "sat", sat); - - t.ok (sunday == sun, "sunday == sun"); - t.ok (monday == mon, "monday == mon"); - t.ok (tuesday == tue, "tuesday == tue"); - t.ok (wednesday == wed, "wednesday == wed"); - t.ok (thursday == thu, "thursday == thu"); - t.ok (friday == fri, "friday == fri"); - t.ok (saturday == sat, "saturday == sat"); - - Datetime january; testInit (t, "january", january); - Datetime february; testInit (t, "february", february); - Datetime march; testInit (t, "march", march); - Datetime april; testInit (t, "april", april); - Datetime may; testInit (t, "may", may); - Datetime june; testInit (t, "june", june); - Datetime july; testInit (t, "july", july); - Datetime august; testInit (t, "august", august); - Datetime september; testInit (t, "september", september); - Datetime october; testInit (t, "october", october); - Datetime november; testInit (t, "november", november); - Datetime december; testInit (t, "december", december); - - Datetime jan; testInit (t, "jan", jan); - Datetime feb; testInit (t, "feb", feb); - Datetime mar; testInit (t, "mar", mar); - Datetime apr; testInit (t, "apr", apr); - Datetime jun; testInit (t, "jun", jun); - Datetime jul; testInit (t, "jul", jul); - Datetime aug; testInit (t, "aug", aug); - Datetime sep; testInit (t, "sep", sep); - Datetime oct; testInit (t, "oct", oct); - Datetime nov; testInit (t, "nov", nov); - Datetime dec; testInit (t, "dec", dec); - - t.ok (january == jan, "january == jan"); - t.ok (february == feb, "february == feb"); - t.ok (march == mar, "march == mar"); - t.ok (april == apr, "april == apr"); - // May has only three letters. - t.ok (june == jun, "june == jun"); - t.ok (july == jul, "july == jul"); - t.ok (august == aug, "august == aug"); - t.ok (september == sep, "september == sep"); - t.ok (october == oct, "october == oct"); - t.ok (november == nov, "november == nov"); - t.ok (december == dec, "december == dec"); - - // Simply instantiate these for now. Test later. - Datetime now; testInit (t, "now", now); - Datetime today; testInit (t, "today", today); - Datetime sod; testInit (t, "sod", sod); - Datetime yesterday; testInit (t, "yesterday", yesterday); - Datetime tomorrow; testInit (t, "tomorrow", tomorrow); - Datetime eod; testInit (t, "eod", eod); - Datetime soy; testInit (t, "soy", soy); - Datetime eoy; testInit (t, "eoy", eoy); - Datetime socm; testInit (t, "socm", socm); - Datetime eocm; testInit (t, "eocm", eocm); - Datetime soww; testInit (t, "soww", soww); - Datetime eoww; testInit (t, "eoww", eoww); - Datetime som; testInit (t, "som", som); - Datetime eom; testInit (t, "eom", eom); - Datetime later; testInit (t, "later", later); - Datetime someday; testInit (t, "someday", someday); - Datetime easter; testInit (t, "easter", easter); - Datetime eastermonday; testInit (t, "eastermonday", eastermonday); - Datetime ascension; testInit (t, "ascension", ascension); - Datetime pentecost; testInit (t, "pentecost", pentecost); - Datetime goodfriday; testInit (t, "goodfriday", goodfriday); - Datetime midsommar; testInit (t, "midsommar", midsommar); - Datetime midsommarafton; testInit (t, "midsommarafton", midsommarafton); - Datetime juhannus; testInit (t, "juhannus", juhannus); - Datetime first; testInit (t, "1st", first); - Datetime second; testInit (t, "2nd", second); - Datetime third; testInit (t, "3rd", third); - Datetime fourth; testInit (t, "4th", fourth); - - // Check abbreviations. - // TW-1515: abbreviation.minimum does not apply to date recognition - Datetime yesterday2; testInit (t, "yesterday", yesterday2); - Datetime yesterday3; testInit (t, "yesterda", yesterday3); - Datetime yesterday4; testInit (t, "yesterd", yesterday4); - Datetime yesterday5; testInit (t, "yester", yesterday5); - Datetime yesterday6; testInit (t, "yeste", yesterday6); - Datetime yesterday7; testInit (t, "yest", yesterday7); - Datetime yesterday8; testInit (t, "yes", yesterday8); - - t.ok (now >= today, "now >= today"); - t.ok (sod == tomorrow, "sod == tomorrow"); - t.ok (yesterday < today, "yesterday < today"); - t.ok (today < tomorrow, "today < tomorrow"); - t.ok (socm < eocm, "socm < eocm"); - t.ok (now < later, "now < later"); - t.ok (now < someday, "now < someday"); - t.ok (goodfriday < easter, "goodfriday < easter"); - t.ok (easter < eastermonday, "easter < eastermonday"); - t.ok (midsommarafton < midsommar, "midsommarafton < midsommar"); - t.ok (juhannus == midsommarafton, "juhannus == midsommarafton"); - - return 0; -} - -////////////////////////////////////////////////////////////////////////////////