1   /*
2    * This file is part of AceLogger.
3    * 
4    * AceLogger is free software: you can redistribute it and/or modify it under the terms of the GNU
5    * Lesser General Public License as published by the Free Software Foundation, either version 3 of
6    * the License, or (at your option) any later version.
7    * 
8    * AceLogger is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
9    * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10   * Lesser General Public License for more details.
11   * 
12   * You should have received a copy of the GNU Lesser General Public License along with AceLogger.
13   * If not, see <http://www.gnu.org/licenses/lgpl-3.0.html>.
14   */
15  package net.sourceforge.acelogger.filter.test;
16  
17  import org.testng.annotations.BeforeMethod;
18  import org.testng.annotations.DataProvider;
19  import org.testng.annotations.Test;
20  
21  import net.sourceforge.acelogger.level.LogLevel;
22  import net.sourceforge.acelogger.level.filter.EqualsLevelFilter;
23  import net.sourceforge.acelogger.test.DataProviderHelper;
24  
25  import static org.testng.Assert.assertEquals;
26  
27  /**
28   * TODO: Create Doc.
29   * 
30   * @author Zardi (https://sourceforge.net/users/daniel_zardi)
31   * @version 1.0.0
32   * @since 1.0.0
33   */
34  @Test
35  public class EqualsLevelFilterTest {
36  
37  	private EqualsLevelFilter equalFilter;
38  
39  	@BeforeMethod
40  	public void setupTest() {
41  		equalFilter = null;
42  	}
43  
44  	@DataProvider
45  	public Object[][] identifierConstructorDataProvider() {
46  		return DataProviderHelper.loadData();
47  	}
48  
49  	@Test(dataProvider = "identifierConstructorDataProvider")
50  	public void testIdentifierConstructor(LogLevel level, boolean shouldPass) {
51  		equalFilter = new EqualsLevelFilter("EqualsLevelFilterTest.testIdentifierConstructor");
52  		assertEquals(equalFilter.isSuitable(level), shouldPass);
53  	}
54  
55  	@DataProvider
56  	public Object[][] levelConstructorDataProvider() {
57  		return DataProviderHelper.loadData();
58  	}
59  
60  	@Test(dataProvider = "levelConstructorDataProvider")
61  	public void testLevelConstructor(LogLevel desiredLevel, LogLevel level, boolean shouldPass) {
62  		equalFilter = new EqualsLevelFilter("EqualsLevelFilterTest.testLevelConstructor",
63  				desiredLevel);
64  		assertEquals(equalFilter.isSuitable(level), shouldPass);
65  	}
66  
67  	@DataProvider
68  	public Object[][] setDesiredLevelDataProvider() {
69  		return DataProviderHelper.loadData();
70  	}
71  
72  	@Test(dataProvider = "setDesiredLevelDataProvider")
73  	public void testSetDesiredLevel(LogLevel desiredLevel, LogLevel expectedResult) {
74  		equalFilter = new EqualsLevelFilter("EqualsLevelFilterTest.testSetDesiredLevel");
75  		equalFilter.setDesiredLevel(desiredLevel);
76  		assertEquals(equalFilter.getDesiredLevel(), expectedResult);
77  	}
78  
79  	/**
80  	 * Tests the {@link EqualsLevelFilter} identifier.
81  	 */
82  	@Test
83  	public void testGetIdentifier() {
84  		equalFilter = new EqualsLevelFilter("EqualsLevelFilterTest.testGetIdentifier");
85  		assertEquals(equalFilter.getIdentifier(), "EqualsLevelFilterTest.testGetIdentifier");
86  	}
87  
88  }