@@ -0,0 +1,1558 @@
+package no.ntnu.capgeminitest.binding.android.propertyprovider;%0A%0Aimport static org.junit.Assert.*;%0Aimport static org.hamcrest.CoreMatchers.*;%0A%0Aimport no.ntnu.capgeminitest.data.Property;%0A%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0A%0Aimport com.xtremelabs.robolectric.RobolectricTestRunner;%0A%0A@RunWith(RobolectricTestRunner.class)%0Apublic class PropertyProviderStackTest %7B%0A    %0A    public class FakePropertyProvider implements PropertyProvider %7B%0A        public String bindingName;%0A        public Property%3C?%3E property;%0A        %0A        public FakePropertyProvider(String bindingName, Property%3C?%3E property) %7B%0A            this.bindingName = bindingName;%0A            this.property = property;%0A        %7D%0A        %0A        @Override%0A        public Property%3C?%3E getProperty(String bindingName) %7B%0A            assertThat(bindingName, equalTo(this.bindingName));%0A            return property;%0A        %7D%0A    %7D%0A    %0A    private PropertyProviderStack stack = new PropertyProviderStack();%0A    private FakePropertyProvider pp1 = new FakePropertyProvider(%0A            %22bindingName1%22, new Property%3CString%3E(%22property1%22));%0A    private FakePropertyProvider pp2 = new FakePropertyProvider(%0A            %22bindingName1%22, new Property%3CString%3E(%22property2%22));%0A    private FakePropertyProvider pp3 = new FakePropertyProvider(%0A            %22bindingName2%22, new Property%3CString%3E(%22property3%22));%0A    %0A    @Test%0A    public void testSingleProvider() %7B%0A        stack.addProvider(pp1);%0A        assertThat((String)stack.getProperty(%22bindingName1%22).get(), equalTo(%22property1%22));%0A    %7D%0A    %0A%7D%0A

Add test for PropertyProviderStack.