Posts

Showing posts from 2010

The WeakReference class, monitoring memory leak and garbage collection in a Java application

Image
 Below is a Stack implementation that uses an internal resizeable array structure.  public class MyStack< T > implements Stack< T > { private static final int CAPACITY = 100 ; private Object[] array ; private int pos = 0 ; public MyStack () { this . array = new Object[ CAPACITY ] ; } @Override public void push ( T item) { if ( pos >= array . length / 2 ) { Object[] newArray = new Object[ pos * 2 ] ; System. arraycopy ( array , 0 , newArray , 0 , array . length ) ; array = newArray ; } array [ pos ++] = item ; } @Override public T pop () { if (isEmpty()) { throw new RuntimeException( "empty stack" ) ; } @SuppressWarnings ( "unchecked" ) T item = ( T ) array [ pos - 1 ] ; pos -= 1 ; return item ; } @Override @SuppressWarnings ( "unchecked" ) public T peek...

Mockist testler ve custom matcher yazımı

Çalıştığım projede Mockito testlerini yoğun olarak kullanıyoruz ve birçok durumda custom matcher yazmamız sözkonusu oluyor. Aşağıdaki mock test örneğine bakalım: @Test public void saveSkillAssignmentApprovalShouldCreateNew() throws ServiceException { Skill skill = new SkillBuilder().buildSample(); SkillAssignmentDao dao = mock(SkillAssingmentDao.class); //... // manager kendi icerisinde dao.save(..) metodunu cagiriyor. SkillAssignment result = skillAssignmentManager.saveSkillAssignmentApproval(approver, skill, skillLevel); // burada assertion icin result'i kullanamayiz cunku mock dao tarafindan set //ediliyor. assertThat(result.getSkill(),equalTo(skill)); // ?? } Burada test ettiğimiz skillAssignmentManager nesnesinin geri gönüş değeri yoluyla sınama yapamayacağımız açık. O nedenle mock olarak kullandığımız dao metoduna geçilen parametreyi sınamamız gerekiyor: @Test public void saveSkillAssignmentApprovalShouldCreateNew() throws S...

Popular posts from this blog

My Crappy Looking Solution to "Binary Tree Common Ancestor" Problem

The WeakReference class, monitoring memory leak and garbage collection in a Java application

A Pattern Recognition Problem: Finding Line Segments Effectively In Java