package com.vaguehope.onosendai.util;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.CoreMatchers.sameInstance;
import static org.hamcrest.MatcherAssert.assertThat;
import org.junit.Before;
import org.junit.Test;
public class SyncMgrTest {
private SyncMgr undertest;
@Before
public void before () throws Exception {
this.undertest = new SyncMgr();
}
@Test
public void itReturnsSameSyncPerKey () throws Exception {
Object a = this.undertest.getSync(new String("absd"));
Object b = this.undertest.getSync(new String("absd"));
Object c = this.undertest.getSync(new String("abse"));
assertThat(b, sameInstance(a));
assertThat(c, not(equalTo(a)));
}
@Test
public void itRembersAfterFirstReturn () throws Exception {
Object a = this.undertest.getSync(new String("absd"));
Object b = this.undertest.getSync(new String("absd"));
assertThat(b, sameInstance(a));
this.undertest.returnSync(new String("absd"));
Object c = this.undertest.getSync(new String("absd"));
assertThat(c, sameInstance(a));
}
@Test
public void itFogetsAfterLastReturn () throws Exception {
Object a = this.undertest.getSync(new String("absd"));
this.undertest.returnSync(new String("absd"));
Object b = this.undertest.getSync(new String("absd"));
assertThat(b, not(equalTo(a)));
}
}