10b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle/* 20b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * Copyright (C) 2014 The Android Open Source Project 30b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * 40b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * Licensed under the Apache License, Version 2.0 (the "License"); 50b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * you may not use this file except in compliance with the License. 60b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * You may obtain a copy of the License at 70b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * 80b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * http://www.apache.org/licenses/LICENSE-2.0 90b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * 100b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * Unless required by applicable law or agreed to in writing, software 110b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * distributed under the License is distributed on an "AS IS" BASIS, 120b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * See the License for the specific language governing permissions and 140b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle * limitations under the License. 150b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle */ 1649e9877c747d6f322a0bd358a9ec8c6f7ad62c76Neil Fullerpackage tests.java.sql; 170b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle 180b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravleimport java.sql.Date; 190b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle 200b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravleimport junit.framework.TestCase; 210b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle 220b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravlepublic class SqlDateTest extends TestCase { 230b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle 240b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle public void testValueOf() { 250b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle String[] dates = { 260b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle "2001-12-31", "2001-12-1", "2001-1-1", "1900-12-31" 270b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle }; 280b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle 290b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle for (String date : dates) { 300b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle Date.valueOf(date); 310b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle } 320b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle } 330b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle 340b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle public void testValueOfInvalidDate() { 350b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle String[] invalidDates = { 360b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle "", 370b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle "+2001-12-31", "2001-+12-31", "2001-12-+31", 380b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle "-2001-12-31", "2001--12-31", "2001-12--31", 390b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle "2001--","2001--31","-12-31", "-12-", "--31", 400b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle "2000000001-12-31" 410b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle }; 420b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle 430b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle for (String date : invalidDates) { 440b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle try { 450b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle Date.valueOf(date); 460b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle fail(); 470b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle } catch (IllegalArgumentException expected) { } 480b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle } 490b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle } 500b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle 510b2a71a20a34a89fb770acf877c751e0443f46e8Calin Juravle} 52