OSDN Git Service

- oops, missing set directory
[ethna/ethna.git] / test / Plugin / Smarty / Ethna_SmartyPlugin_modifier_unique_Test.php
1 <?php
2 // vim: foldmethod=marker
3 /**
4  *  Ethna_SmartyPlugin_modifier_unique_Test.php
5  *
6  *  @author     Yoshinari Takaoka <takaoka@beatcraft.com>
7  *  @version    $Id$
8  */
9
10 require_once ETHNA_BASE . '/class/Plugin/Smarty/modifier.unique.php';
11
12 //{{{    Ethna_SmartyPlugin_modifier_unique_Test
13 /**
14  *  Test Case For modifier_unique.php
15  *
16  *  @access public
17  */
18 class Ethna_SmartyPlugin_modifier_unique_Test extends Ethna_UnitTestBase
19 {
20     // {{{  test_smarty_modifier_unique
21     function test_smarty_modifier_unique()
22     {
23         //  配列でない場合
24         $result = smarty_modifier_unique('a');
25         $this->assertTrue('a', $result);
26
27         $result = smarty_modifier_unique(NULL);
28         $this->assertNULL($result);
29
30         //  第2引数なしの場合
31         $input = array(1, 2, 1, 1, 3, 2, 4);
32         $result = smarty_modifier_unique($input);
33         $this->assertTrue(is_numeric(array_search(1, $result)));
34         $this->assertTrue(is_numeric(array_search(2, $result)));
35         $this->assertTrue(is_numeric(array_search(3, $result)));
36         $this->assertTrue(is_numeric(array_search(4, $result)));
37         $this->assertFalse(is_numeric(array_search(5, $result)));
38
39         //  第2引数ありの場合
40         $input = array(
41                      array("foo" => 1, "bar" => 4),
42                      array("foo" => 1, "bar" => 4),
43                      array("foo" => 1, "bar" => 4),
44                      array("foo" => 2, "bar" => 5),
45                      array("foo" => 3, "bar" => 6),
46                      array("foo" => 2, "bar" => 5),
47                  );
48         $result = smarty_modifier_unique($input, 'bar');
49         $this->assertTrue(is_numeric(array_search(4, $result)));
50         $this->assertTrue(is_numeric(array_search(5, $result)));
51         $this->assertTrue(is_numeric(array_search(6, $result)));
52         $this->assertFalse(is_numeric(array_search(1, $result)));
53         $this->assertFalse(is_numeric(array_search(2, $result)));
54         $this->assertFalse(is_numeric(array_search(3, $result)));
55     }
56     // }}}
57 }
58 // }}}
59
60 ?>