PageRenderTime 55ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/lithium-0.6/libraries/lithium/tests/cases/storage/cache/adapter/MemoryTest.php

https://github.com/gwoo/framework-benchs
PHP | 163 lines | 117 code | 40 blank | 6 comment | 0 complexity | ad710b8d4723db851ac1ff199184803d MD5 | raw file
  1. <?php
  2. /**
  3. * Lithium: the most rad php framework
  4. *
  5. * @copyright Copyright 2010, Union of RAD (http://union-of-rad.org)
  6. * @license http://opensource.org/licenses/bsd-license.php The BSD License
  7. */
  8. namespace lithium\tests\cases\storage\cache\adapter;
  9. use \lithium\storage\cache\adapter\Memory;
  10. class MemoryTest extends \lithium\test\Unit {
  11. public function setUp() {
  12. $this->Memory = new Memory();
  13. }
  14. public function tearDown() {
  15. unset($this->Memory);
  16. }
  17. public function testEnabled() {
  18. $this->assertTrue($this->Memory->enabled());
  19. }
  20. public function testWriteAndRead() {
  21. $key = 'key';
  22. $data = 'data';
  23. $expiry = null;
  24. $closure = $this->Memory->write($key, $data, $expiry);
  25. $this->assertTrue(is_callable($closure));
  26. $params = compact('key', 'data');
  27. $result = $closure($this->Memory, $params, null);
  28. $this->assertTrue($result);
  29. $this->assertEqual($this->Memory->cache, $result);
  30. $closure = $this->Memory->read($key);
  31. $this->assertTrue(is_callable($closure));
  32. $params = compact('key');
  33. $result = $closure($this->Memory, $params, null);
  34. $this->assertEqual($data, $result);
  35. $this->assertEqual($this->Memory->cache, array($key => $data));
  36. }
  37. public function testWriteAndDelete() {
  38. $key = 'key_to_delete';
  39. $data = 'some data to be deleted';
  40. $expiry = null;
  41. $closure = $this->Memory->write($key, $data, $expiry);
  42. $this->assertTrue(is_callable($closure));
  43. $params = compact('key', 'data');
  44. $result = $closure($this->Memory, $params, null);
  45. $this->assertTrue($result);
  46. $this->assertEqual($this->Memory->cache, $result);
  47. $closure = $this->Memory->delete($key);
  48. $this->assertTrue(is_callable($closure));
  49. $params = compact('key');
  50. $result = $closure($this->Memory, $params, null);
  51. $this->assertTrue($result);
  52. $key = 'non_existent';
  53. $params = compact('key');
  54. $result = $closure($this->Memory, $params, null);
  55. $this->assertFalse($result);
  56. }
  57. public function testWriteAndClear() {
  58. $key = 'key_to_clear';
  59. $data = 'data to be cleared';
  60. $expiry = null;
  61. $closure = $this->Memory->write($key, $data, $expiry);
  62. $this->assertTrue(is_callable($closure));
  63. $params = compact('key', 'data');
  64. $result = $closure($this->Memory, $params, null);
  65. $this->assertTrue($result);
  66. $this->assertEqual($this->Memory->cache, $result);
  67. $key2 = 'key2_to_clear';
  68. $data2 = 'data to be cleared';
  69. $closure = $this->Memory->write($key2, $data2, $expiry);
  70. $this->assertTrue(is_callable($closure));
  71. $params = array('key' => $key2, 'data' => $data2);
  72. $result = $closure($this->Memory, $params, null);
  73. $this->assertTrue($result);
  74. $this->assertEqual($this->Memory->cache, $result);
  75. $result = $this->Memory->clear();
  76. $this->assertTrue($result);
  77. $this->assertEqual(array(), $this->Memory->cache);
  78. $closure = $this->Memory->write($key, $data, $expiry);
  79. $this->assertTrue(is_callable($closure));
  80. $params = compact('key', 'data');
  81. $result = $closure($this->Memory, $params, null);
  82. $this->assertTrue($result);
  83. $this->assertEqual($this->Memory->cache, $result);
  84. $result = $this->Memory->clear();
  85. $this->assertTrue($result);
  86. $this->assertEqual(array(), $this->Memory->cache);
  87. }
  88. public function testIncrement() {
  89. $key = 'incremental';
  90. $data = 5;
  91. $expiry = null;
  92. $closure = $this->Memory->write($key, $data, $expiry);
  93. $this->assertTrue(is_callable($closure));
  94. $params = compact('key', 'data');
  95. $result = $closure($this->Memory, $params, null);
  96. $this->assertTrue($result);
  97. $this->assertEqual($this->Memory->cache, $result);
  98. $closure = $this->Memory->increment($key);
  99. $params = compact('key');
  100. $result = $closure($this->Memory, $params, null);
  101. $this->assertEqual($data + 1, $result);
  102. }
  103. public function testDecrement() {
  104. $key = 'decrement';
  105. $data = 5;
  106. $expiry = null;
  107. $closure = $this->Memory->write($key, $data, $expiry);
  108. $this->assertTrue(is_callable($closure));
  109. $params = compact('key', 'data');
  110. $result = $closure($this->Memory, $params, null);
  111. $this->assertTrue($result);
  112. $this->assertEqual($this->Memory->cache, $result);
  113. $closure = $this->Memory->decrement($key);
  114. $params = compact('key');
  115. $result = $closure($this->Memory, $params, null);
  116. $this->assertEqual($data - 1, $result);
  117. }
  118. public function testClean() {
  119. $result = $this->Memory->clean();
  120. $this->assertFalse($result);
  121. }
  122. }
  123. ?>