| <?php |
| /** |
| * ezcConsoleProgressbarOptionsTest class. |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| * @package ConsoleTools |
| * @subpackage Tests |
| * @version //autogentag// |
| * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 |
| */ |
| |
| /** |
| * Test suite for ezcConsoleProgressbarOptions struct. |
| * |
| * @package ConsoleTools |
| * @subpackage Tests |
| */ |
| class ezcConsoleProgressbarOptionsTest extends ezcTestCase |
| { |
| |
| public static function suite() |
| { |
| return new PHPUnit_Framework_TestSuite( "ezcConsoleProgressbarOptionsTest" ); |
| } |
| |
| /** |
| * testConstructorNew |
| * |
| * @access public |
| */ |
| public function testConstructorNew() |
| { |
| $fake = new ezcConsoleProgressbarOptions( |
| array( |
| "barChar" => "+", |
| "emptyChar" => "-", |
| "formatString" => "%act% / %max% [%bar%] %fraction%%", |
| "fractionFormat" => "%01.2f", |
| "progressChar" => ">", |
| "redrawFrequency" => 1, |
| "step" => 1, |
| "width" => 78, |
| "actFormat" => "%.0f", |
| "maxFormat" => "%.0f", |
| "minVerbosity" => 1, |
| "maxVerbosity" => false, |
| ) |
| ); |
| $this->assertEquals( |
| $fake, |
| new ezcConsoleProgressbarOptions(), |
| 'Default values incorrect for ezcConsoleProgressbarOptions.' |
| ); |
| } |
| |
| public function testNewAccess() |
| { |
| $opt = new ezcConsoleProgressbarOptions(); |
| $this->assertEquals( "+", $opt->barChar ); |
| $this->assertEquals( "-", $opt->emptyChar ); |
| $this->assertEquals( "%act% / %max% [%bar%] %fraction%%", $opt->formatString ); |
| $this->assertEquals( "%01.2f", $opt->fractionFormat ); |
| $this->assertEquals( ">", $opt->progressChar ); |
| $this->assertEquals( 1, $opt->redrawFrequency ); |
| $this->assertEquals( 1, $opt->step ); |
| $this->assertEquals( 78, $opt->width ); |
| $this->assertEquals( "%.0f", $opt->actFormat ); |
| $this->assertEquals( "%.0f", $opt->maxFormat ); |
| $this->assertEquals( 1, $opt->minVerbosity ); |
| $this->assertEquals( false, $opt->maxVerbosity ); |
| |
| $this->assertEquals( $opt["barChar"], "+" ); |
| $this->assertEquals( $opt["emptyChar"], "-" ); |
| $this->assertEquals( $opt["formatString"], "%act% / %max% [%bar%] %fraction%%" ); |
| $this->assertEquals( $opt["fractionFormat"], "%01.2f" ); |
| $this->assertEquals( $opt["progressChar"], ">" ); |
| $this->assertEquals( $opt["redrawFrequency"], 1 ); |
| $this->assertEquals( $opt["step"], 1 ); |
| $this->assertEquals( $opt["width"], 78 ); |
| $this->assertEquals( $opt["actFormat"], "%.0f" ); |
| $this->assertEquals( $opt["maxFormat"], "%.0f" ); |
| $this->assertEquals( $opt["minVerbosity"], 1 ); |
| $this->assertEquals( $opt["maxVerbosity"], false ); |
| } |
| |
| public function testGetAccessSuccess() |
| { |
| $opt = new ezcConsoleProgressbarOptions(); |
| $this->assertEquals( "+", $opt->barChar ); |
| $this->assertEquals( "-", $opt->emptyChar ); |
| $this->assertEquals( "%act% / %max% [%bar%] %fraction%%", $opt->formatString ); |
| $this->assertEquals( "%01.2f", $opt->fractionFormat ); |
| $this->assertEquals( ">", $opt->progressChar ); |
| $this->assertEquals( 1, $opt->redrawFrequency ); |
| $this->assertEquals( 1, $opt->step ); |
| $this->assertEquals( 78, $opt->width ); |
| $this->assertEquals( '%.0f', $opt->actFormat ); |
| $this->assertEquals( '%.0f', $opt->maxFormat ); |
| $this->assertEquals( 1, $opt->minVerbosity ); |
| $this->assertEquals( false, $opt->maxVerbosity ); |
| } |
| |
| public function testGetAccessFailure() |
| { |
| $opt = new ezcConsoleProgressbarOptions(); |
| |
| $exceptionThrown = false; |
| try |
| { |
| echo $opt->foo; |
| } |
| catch ( ezcBasePropertyNotFoundException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on get access of invalid property foo." ); |
| } |
| |
| public function testSetAccessSuccess() |
| { |
| $opt = new ezcConsoleProgressbarOptions(); |
| $opt->barChar = "*"; |
| $opt->emptyChar = "_"; |
| $opt->formatString = " %fraction%% %act% - %max% (%bar%)"; |
| $opt->fractionFormat = "%01.1f"; |
| $opt->progressChar = "]"; |
| $opt->redrawFrequency = 5; |
| $opt->step = 5; |
| $opt->width = 42; |
| $opt->actFormat = '%.10f'; |
| $opt->maxFormat = '%.10f'; |
| $opt->minVerbosity = 23; |
| $opt->maxVerbosity = 42; |
| |
| $this->assertEquals( "*", $opt->barChar ); |
| $this->assertEquals( "_", $opt->emptyChar ); |
| $this->assertEquals( " %fraction%% %act% - %max% (%bar%)", $opt->formatString ); |
| $this->assertEquals( "%01.1f", $opt->fractionFormat ); |
| $this->assertEquals( "]", $opt->progressChar ); |
| $this->assertEquals( 5, $opt->redrawFrequency ); |
| $this->assertEquals( 5, $opt->step ); |
| $this->assertEquals( 42, $opt->width ); |
| $this->assertEquals( '%.10f', $opt->actFormat ); |
| $this->assertEquals( '%.10f', $opt->maxFormat ); |
| $this->assertEquals( 23, $opt->minVerbosity ); |
| $this->assertEquals( 42, $opt->maxVerbosity ); |
| } |
| |
| public function testSetAccessFailure() |
| { |
| $opt = new ezcConsoleProgressbarOptions(); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->fractionFormat = true; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property fractionFormat." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->progressChar = true; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property progressChar." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->redrawFrequency = "foo"; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property redrawFrequency." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->step = "foo"; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property step." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->width = "foo"; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property width." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->actFormat = 23; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property actFormat." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->maxFormat = 23; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property maxFormat." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->barChar = 23; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property barChar." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->emptyChar = true; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property emptyChar." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->formatString = true; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property formatString." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->minVerbosity = 'some val'; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property minVerbosity." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->maxVerbosity = 'some val'; |
| } |
| catch ( ezcBaseValueException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on invalid value for property maxVerbosity." ); |
| |
| $exceptionThrown = false; |
| try |
| { |
| $opt->foo = true; |
| } |
| catch ( ezcBasePropertyNotFoundException $e ) |
| { |
| $exceptionThrown = true; |
| } |
| $this->assertTrue( $exceptionThrown, "Exception not thrown on set access of invalid property foo." ); |
| } |
| |
| public function testIsset() |
| { |
| $opt = new ezcConsoleProgressbarOptions(); |
| $this->assertTrue( isset( $opt->barChar ) ); |
| $this->assertTrue( isset( $opt->emptyChar ) ); |
| $this->assertTrue( isset( $opt->formatString ) ); |
| $this->assertTrue( isset( $opt->fractionFormat ) ); |
| $this->assertTrue( isset( $opt->progressChar ) ); |
| $this->assertTrue( isset( $opt->redrawFrequency ) ); |
| $this->assertTrue( isset( $opt->step ) ); |
| $this->assertTrue( isset( $opt->width ) ); |
| $this->assertTrue( isset( $opt->actFormat ) ); |
| $this->assertTrue( isset( $opt->maxFormat ) ); |
| $this->assertTrue( isset( $opt->minVerbosity ) ); |
| $this->assertTrue( isset( $opt->maxVerbosity ) ); |
| $this->assertFalse( isset( $opt->foo ) ); |
| } |
| } |
| |
| ?> |