/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.structure.page.template; import org.junit.Test; import static org.junit.Assert.*; public class PageTemplateSpecificationTest { @Test public void satisfies_returns_true_when_nothing_specified() { PageTemplateEntity pageTemplate = new PageTemplateEntity(); PageTemplateSpecification spec = new PageTemplateSpecification(); assertEquals( true, spec.satisfies( pageTemplate ) ); } @Test public void satisfies_returns_true_when_key_is_same() { PageTemplateEntity pageTemplate = new PageTemplateEntity(); pageTemplate.setKey( 1 ); PageTemplateSpecification spec = new PageTemplateSpecification(); spec.setKey( new PageTemplateKey( 1 ) ); assertEquals( true, spec.satisfies( pageTemplate ) ); } @Test public void satisfies_returns_false_when_key_is_not_same() { PageTemplateEntity pageTemplate = new PageTemplateEntity(); pageTemplate.setKey( 1 ); PageTemplateSpecification spec = new PageTemplateSpecification(); spec.setKey( new PageTemplateKey( 2 ) ); assertEquals( false, spec.satisfies( pageTemplate ) ); } @Test public void satisfies_returns_true_when_pageTemplate_have_same_type() { PageTemplateEntity pageTemplate = new PageTemplateEntity(); pageTemplate.setType( PageTemplateType.SECTIONPAGE ); PageTemplateSpecification spec = new PageTemplateSpecification(); spec.setType( PageTemplateType.SECTIONPAGE ); assertEquals( true, spec.satisfies( pageTemplate ) ); } @Test public void satisfies_returns_false_when_pageTemplate_not_have_same_type() { PageTemplateEntity pageTemplate = new PageTemplateEntity(); pageTemplate.setType( PageTemplateType.CONTENT ); PageTemplateSpecification spec = new PageTemplateSpecification(); spec.setType( PageTemplateType.SECTIONPAGE ); assertEquals( false, spec.satisfies( pageTemplate ) ); } @Test public void satisfies_returns_true_when_pageTemplate_have_same_type_and_key() { PageTemplateEntity pageTemplate = new PageTemplateEntity(); pageTemplate.setKey( 1 ); pageTemplate.setType( PageTemplateType.SECTIONPAGE ); PageTemplateSpecification spec = new PageTemplateSpecification(); spec.setType( PageTemplateType.SECTIONPAGE ); spec.setKey( new PageTemplateKey( 1 ) ); assertEquals( true, spec.satisfies( pageTemplate ) ); } @Test public void satisfies_returns_false_when_pageTemplate_have_same_type_bot_not_same_key() { PageTemplateEntity pageTemplate = new PageTemplateEntity(); pageTemplate.setKey( 2 ); pageTemplate.setType( PageTemplateType.SECTIONPAGE ); PageTemplateSpecification spec = new PageTemplateSpecification(); spec.setType( PageTemplateType.SECTIONPAGE ); spec.setKey( new PageTemplateKey( 1 ) ); assertEquals( false, spec.satisfies( pageTemplate ) ); } }