Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
TimeDurationUtilTest.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
38  {
43  $initialTimeStamp,
44  $durationInterval,
45  $durationSign,
46  $durationType,
47  $expectedTimeStamp)
48  {
49  $timeZone = date_default_timezone_get();
50  date_default_timezone_set('America/Chicago'); //Test using an alternative time zone from GMT
51  $this->assertEquals(
52  $expectedTimeStamp,
53  TimeDurationUtil::resolveNewTimeStampForDuration($initialTimeStamp, $durationInterval, $durationSign, $durationType)
54  );
55  date_default_timezone_set($timeZone);
56  }
57 
58  public function dataProviderForTestResolveNewTimeStampForDuration()
59  {
60  return array(
61  array(500000,
62  100,
63  TimeDurationUtil::DURATION_SIGN_NEGATIVE,
64  TimeDurationUtil::DURATION_TYPE_DAY,
65  500000 - 100 * 24 * 60 * 60),
66  array(500000,
67  100,
68  TimeDurationUtil::DURATION_SIGN_POSITIVE,
69  TimeDurationUtil::DURATION_TYPE_DAY,
70  500000 + 100 * 24 * 60 * 60),
71  array(500000,
72  100,
73  TimeDurationUtil::DURATION_SIGN_NEGATIVE,
74  TimeDurationUtil::DURATION_TYPE_HOUR,
75  500000 - 100 * 60 * 60),
76  array(500000,
77  100,
78  TimeDurationUtil::DURATION_SIGN_POSITIVE,
79  TimeDurationUtil::DURATION_TYPE_HOUR,
80  500000 + 100 * 60 * 60),
81  array(500000,
82  100,
83  TimeDurationUtil::DURATION_SIGN_NEGATIVE,
84  TimeDurationUtil::DURATION_TYPE_MINUTE,
85  500000 - 100 * 60),
86  array(500000,
87  100,
88  TimeDurationUtil::DURATION_SIGN_POSITIVE,
89  TimeDurationUtil::DURATION_TYPE_MINUTE,
90  500000 + 100 * 60),
91  array(500000,
92  1,
93  TimeDurationUtil::DURATION_SIGN_NEGATIVE,
94  TimeDurationUtil::DURATION_TYPE_MONTH,
95  500000 - 1 * 31 * 24 * 60 * 60),
96  array(500000,
97  1,
98  TimeDurationUtil::DURATION_SIGN_POSITIVE,
99  TimeDurationUtil::DURATION_TYPE_MONTH,
100  500000 + 1 * 31 * 24 * 60 * 60),
101  array(500000,
102  100,
103  TimeDurationUtil::DURATION_SIGN_NEGATIVE,
104  TimeDurationUtil::DURATION_TYPE_WEEK,
105  500000 - 100 * 7 * 24 * 60 * 60),
106  array(500000,
107  100,
108  TimeDurationUtil::DURATION_SIGN_POSITIVE,
109  TimeDurationUtil::DURATION_TYPE_WEEK,
110  500000 + 100 * 7 * 24 * 60 * 60),
111  array(500000,
112  4,
113  TimeDurationUtil::DURATION_SIGN_NEGATIVE,
114  TimeDurationUtil::DURATION_TYPE_YEAR,
115  500000 - (4 * 365 + 1) * 24 * 60 * 60),
116  array(500000,
117  4,
118  TimeDurationUtil::DURATION_SIGN_POSITIVE,
119  TimeDurationUtil::DURATION_TYPE_YEAR,
120  500000 + (4 * 365 + 1) * 24 * 60 * 60),
121  array(123456,
122  0,
123  TimeDurationUtil::DURATION_SIGN_NEGATIVE,
124  TimeDurationUtil::DURATION_TYPE_DAY,
125  123456),
126  array(123456,
127  1,
128  TimeDurationUtil::DURATION_SIGN_POSITIVE,
129  TimeDurationUtil::DURATION_TYPE_MINUTE,
130  123516),
131  );
132  }
133  }
testResolveNewTimeStampForDuration($initialTimeStamp, $durationInterval, $durationSign, $durationType, $expectedTimeStamp)
static resolveNewTimeStampForDuration($initialTimeStamp, $durationInterval, $durationSign, $durationType)
Generated on Wed Jul 15 2020 07:10:31
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.