View Javadoc
1   /*
2    * MIT License
3    * Copyright (c) 2006-2025 JMockit developers
4    * See LICENSE file for full license text.
5    */
6   package mockit.internal.injection.full;
7   
8   import static org.junit.jupiter.api.Assertions.assertEquals;
9   import static org.junit.jupiter.api.Assertions.assertNull;
10  import static org.junit.jupiter.api.Assertions.assertTrue;
11  
12  import org.junit.jupiter.api.BeforeEach;
13  import org.junit.jupiter.api.Test;
14  
15  final class TestConversationJavaxTest {
16  
17      private TestConversationJavax conversation;
18  
19      @BeforeEach
20      void setUp() {
21          conversation = new TestConversationJavax();
22      }
23  
24      @Test
25      void initialStateIsTransient() {
26          assertTrue(conversation.isTransient());
27      }
28  
29      @Test
30      void initialIdIsNull() {
31          assertNull(conversation.getId());
32      }
33  
34      @Test
35      void initialTimeoutIsZero() {
36          assertEquals(0L, conversation.getTimeout());
37      }
38  
39      @Test
40      void beginMakesConversationNonTransient() {
41          conversation.begin();
42          // After begin, conversation is non-transient
43          assertEquals(false, conversation.isTransient());
44      }
45  
46      @Test
47      void beginSetsIdToCounter() {
48          conversation.begin();
49          assertEquals("1", conversation.getId());
50      }
51  
52      @Test
53      void beginTwiceIncreasesCounter() {
54          conversation.end();
55          conversation.begin();
56          conversation.end();
57          conversation.begin();
58          assertEquals("2", conversation.getId());
59      }
60  
61      @Test
62      void beginWithIdUsesGivenId() {
63          conversation.begin("my-conversation-id");
64          assertEquals("my-conversation-id", conversation.getId());
65          assertEquals(false, conversation.isTransient());
66      }
67  
68      @Test
69      void endMakesConversationTransient() {
70          conversation.begin();
71          conversation.end();
72          assertTrue(conversation.isTransient());
73      }
74  
75      @Test
76      void endClearsId() {
77          conversation.begin("test-id");
78          conversation.end();
79          assertNull(conversation.getId());
80      }
81  
82      @Test
83      void setAndGetTimeout() {
84          conversation.setTimeout(5000L);
85          assertEquals(5000L, conversation.getTimeout());
86      }
87  
88      @Test
89      void setTimeoutToZero() {
90          conversation.setTimeout(1000L);
91          conversation.setTimeout(0L);
92          assertEquals(0L, conversation.getTimeout());
93      }
94  }