@Test public void testVerifyExactOtherThreads() throws Exception { Spy.SpyWithValue<String> recordedQueries = new Spy.SpyWithValue<>("val"); executeStatementInOtherThread(); recordedQueries.verify(1, Threads.OTHERS); recordedQueries = new Spy.SpyWithValue<>("val"); try { recordedQueries.verify(1, Threads.OTHERS); fail(); } catch (WrongNumberOfQueriesError e) { assertNotNull(e); } recordedQueries = new Spy.SpyWithValue<>("val"); try { recordedQueries.verify(1, Threads.OTHERS); fail(); } catch (WrongNumberOfQueriesError e) { assertNotNull(e); } assertEquals("val", recordedQueries.getValue()); }
@Test public void testVerifyExactThreadLocal() throws Exception { Spy.SpyWithValue<String> recordedQueries = new Spy.SpyWithValue<>("val"); executeStatement(); recordedQueries.verify(1, Threads.CURRENT); recordedQueries = new Spy.SpyWithValue<>("val"); try { recordedQueries.verify(1, Threads.CURRENT); fail(); } catch (WrongNumberOfQueriesError e) { assertNotNull(e); } recordedQueries = new Spy.SpyWithValue<>("val"); try { recordedQueries.verify(1, Threads.CURRENT); fail(); } catch (WrongNumberOfQueriesError e) { assertNotNull(e); } assertEquals("val", recordedQueries.getValue()); }
@Test public void testVerifyExact() throws Exception { Spy.SpyWithValue<String> recordedQueries = new Spy.SpyWithValue<>("val"); executeStatement(); recordedQueries.verify(1); recordedQueries = new Spy.SpyWithValue<>("val"); try { recordedQueries.verify(1); fail(); } catch (WrongNumberOfQueriesError e) { assertNotNull(e); } recordedQueries = new Spy.SpyWithValue<>("val"); try { recordedQueries.verify(1); fail(); } catch (WrongNumberOfQueriesError e) { assertNotNull(e); } assertEquals("val", recordedQueries.getValue()); }