You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DfsBlockCacheConfigTest.java 3.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * Copyright (C) 2016, Philipp Marx <philippmarx@gmx.de> and
  3. * other copyright owners as documented in the project's IP log.
  4. *
  5. * This program and the accompanying materials are made available under the
  6. * terms of the Eclipse Distribution License v1.0 which accompanies this
  7. * distribution, is reproduced below, and is available at
  8. * http://www.eclipse.org/org/documents/edl-v10.php
  9. *
  10. * All rights reserved.
  11. *
  12. * Redistribution and use in source and binary forms, with or without
  13. * modification, are permitted provided that the following conditions are met:
  14. *
  15. * - Redistributions of source code must retain the above copyright notice, this
  16. * list of conditions and the following disclaimer.
  17. *
  18. * - Redistributions in binary form must reproduce the above copyright notice,
  19. * this list of conditions and the following disclaimer in the documentation
  20. * and/or other materials provided with the distribution.
  21. *
  22. * - Neither the name of the Eclipse Foundation, Inc. nor the names of its
  23. * contributors may be used to endorse or promote products derived from this
  24. * software without specific prior written permission.
  25. *
  26. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  27. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  28. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  29. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  30. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  31. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  32. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  33. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  34. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  35. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  36. * POSSIBILITY OF SUCH DAMAGE.
  37. */
  38. package org.eclipse.jgit.internal.storage.dfs;
  39. import static org.hamcrest.MatcherAssert.assertThat;
  40. import static org.hamcrest.Matchers.is;
  41. import static org.junit.Assert.assertThrows;
  42. import org.eclipse.jgit.internal.JGitText;
  43. import org.junit.Test;
  44. public class DfsBlockCacheConfigTest {
  45. @Test
  46. public void blockSizeNotPowerOfTwoExpectsException() {
  47. assertThrows(JGitText.get().blockSizeNotPowerOf2,
  48. IllegalArgumentException.class,
  49. () -> new DfsBlockCacheConfig().setBlockSize(1000));
  50. }
  51. @Test
  52. @SuppressWarnings("boxing")
  53. public void negativeBlockSizeIsConvertedToDefault() {
  54. DfsBlockCacheConfig config = new DfsBlockCacheConfig();
  55. config.setBlockSize(-1);
  56. assertThat(config.getBlockSize(), is(512));
  57. }
  58. @Test
  59. @SuppressWarnings("boxing")
  60. public void tooSmallBlockSizeIsConvertedToDefault() {
  61. DfsBlockCacheConfig config = new DfsBlockCacheConfig();
  62. config.setBlockSize(10);
  63. assertThat(config.getBlockSize(), is(512));
  64. }
  65. @Test
  66. @SuppressWarnings("boxing")
  67. public void validBlockSize() {
  68. DfsBlockCacheConfig config = new DfsBlockCacheConfig();
  69. config.setBlockSize(65536);
  70. assertThat(config.getBlockSize(), is(65536));
  71. }
  72. }