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.GreaterOrEqualLevelFilter;
23  import net.sourceforge.acelogger.test.DataProviderHelper;
24  
25  import static org.testng.Assert.assertEquals;
26  import static org.testng.Assert.assertFalse;
27  
28  /**
29   * TODO: Create Doc.
30   * 
31   * @author Zardi (https://sourceforge.net/users/daniel_zardi)
32   * @version 1.0.0
33   * @since 1.0.0
34   */
35  @Test
36  public class GreaterOrEqualLevelFilterTest {
37  
38  	private GreaterOrEqualLevelFilter greaterFilter;
39  
40  	@BeforeMethod
41  	public void setupTest() {
42  		greaterFilter = null;
43  	}
44  
45  	@DataProvider
46  	public Object[][] identifierConstructorDataProvider() {
47  		return DataProviderHelper.loadData();
48  	}
49  
50  	@Test(dataProvider = "identifierConstructorDataProvider")
51  	public void testIdentifierConstructor(LogLevel level, boolean shouldPass) {
52  		greaterFilter = new GreaterOrEqualLevelFilter(
53  				"GreaterOrEqualLevelFilterTest.testIdentifierConstructor");
54  		assertEquals(greaterFilter.isSuitable(level), shouldPass);
55  	}
56  
57  	@DataProvider
58  	public Object[][] levelConstructorDataProvider() {
59  		return DataProviderHelper.loadData();
60  	}
61  
62  	@Test(dataProvider = "levelConstructorDataProvider")
63  	public void testLevelConstructor(LogLevel minimumLevel, LogLevel level, boolean shouldPass) {
64  		greaterFilter = new GreaterOrEqualLevelFilter(
65  				"GreaterOrEqualLevelFilterTest.testLevelConstructor", minimumLevel);
66  		assertEquals(greaterFilter.isSuitable(level), shouldPass);
67  	}
68  
69  	@Test
70  	public void testSuitableForLogging() {
71  		greaterFilter = new GreaterOrEqualLevelFilter(
72  				"GreaterOrEqualLevelFilterTest.testSuitableForLogging", null);
73  		assertFalse(greaterFilter.isSuitable(null));
74  	}
75  
76  	@DataProvider
77  	public Object[][] setDesiredLevelDataProvider() {
78  		return DataProviderHelper.loadData();
79  	}
80  
81  	@Test(dataProvider = "setDesiredLevelDataProvider")
82  	public void testSetDesiredLevel(LogLevel minimumLevel, LogLevel expectedResult) {
83  		greaterFilter = new GreaterOrEqualLevelFilter(
84  				"GreaterOrEqualLevelFilterTest.testSetDesiredLevel");
85  		greaterFilter.setMinimumLevel(minimumLevel);
86  		assertEquals(greaterFilter.getMinimumLevel(), expectedResult);
87  	}
88  
89  	/**
90  	 * Tests the {@link GreaterOrEqualLevelFilter} identifier.
91  	 */
92  	@Test
93  	public void testGetIdentifier() {
94  		greaterFilter = new GreaterOrEqualLevelFilter(
95  				"GreaterOrEqualLevelFilterTest.testGetIdentifier");
96  		assertEquals(greaterFilter.getIdentifier(),
97  				"GreaterOrEqualLevelFilterTest.testGetIdentifier");
98  	}
99  
100 }