/protocols/smpp/src/test/java/org/mobicents/protocols/smpp/util/DefaultSequenceSchemeTest.java

http://mobicents.googlecode.com/ · Java · 71 lines · 43 code · 6 blank · 22 comment · 4 complexity · 5114ed2a0ae24fffc4a01385d76bdaef MD5 · raw file

  1. /*
  2. * JBoss, Home of Professional Open Source
  3. * Copyright 2011, Red Hat, Inc. and individual contributors
  4. * by the @authors tag. See the copyright.txt in the distribution for a
  5. * full listing of individual contributors.
  6. *
  7. * This is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU Lesser General Public License as
  9. * published by the Free Software Foundation; either version 2.1 of
  10. * the License, or (at your option) any later version.
  11. *
  12. * This software is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with this software; if not, write to the Free
  19. * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  20. * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  21. */
  22. package org.mobicents.protocols.smpp.util;
  23. import static org.testng.Assert.assertEquals;
  24. import static org.testng.Assert.assertTrue;
  25. import org.mobicents.protocols.smpp.util.DefaultSequenceScheme;
  26. import org.testng.annotations.Test;
  27. @Test
  28. public class DefaultSequenceSchemeTest {
  29. public void testNextNumber() {
  30. DefaultSequenceScheme seq = new DefaultSequenceScheme();
  31. assertEquals(seq.nextNumber(), 1L);
  32. assertEquals(seq.nextNumber(), 2L);
  33. assertEquals(seq.nextNumber(), 3L);
  34. assertEquals(seq.nextNumber(), 4L);
  35. assertEquals(seq.nextNumber(), 5L);
  36. assertEquals(seq.nextNumber(), 6L);
  37. }
  38. public void testPeek() {
  39. DefaultSequenceScheme seq = new DefaultSequenceScheme();
  40. assertEquals(seq.peek(), 1L);
  41. assertEquals(seq.nextNumber(), 1L);
  42. assertEquals(seq.peek(), 2L);
  43. assertEquals(seq.peek(), 2L);
  44. assertEquals(seq.peek(), 2L);
  45. assertEquals(seq.peek(), 2L);
  46. assertEquals(seq.nextNumber(), 2L);
  47. assertEquals(seq.peek(), 3L);
  48. assertEquals(seq.peek(10L), 13L);
  49. }
  50. public void testReset() {
  51. DefaultSequenceScheme seq = new DefaultSequenceScheme();
  52. while (seq.nextNumber() < 1450L);
  53. assertEquals(seq.peek(), 1451);
  54. seq.reset();
  55. assertEquals(seq.nextNumber(), 1);
  56. }
  57. public void testWrap() {
  58. DefaultSequenceScheme dss = new DefaultSequenceScheme(
  59. DefaultSequenceScheme.MAX_VALUE - 1);
  60. assertTrue(dss.nextNumber() == DefaultSequenceScheme.MAX_VALUE - 1L);
  61. assertTrue(dss.nextNumber() == DefaultSequenceScheme.MAX_VALUE);
  62. //Resets back to start
  63. assertTrue(dss.nextNumber() == DefaultSequenceScheme.MAX_VALUE - 1);
  64. }
  65. }