<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>HierarchyThresholdTestCase xref</title>
<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * </em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * </em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  
<a name="18" href="#18">18</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j;
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestSuite;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> junit.framework.Test;
<a name="23" href="#23">23</a>  
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.XLevel;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment">/**</em>
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment">   Test the configuration of the hierarchy-wide threshold.</em>
<a name="29" href="#29">29</a>  
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment">   @author  Ceki G&amp;uuml;lc&amp;uuml;</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment">*/</em>
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase {
<a name="33" href="#33">33</a>    
<a name="34" href="#34">34</a>    <strong class="jxr_keyword">static</strong> String TEMP = <span class="jxr_string">"output/temp"</span>;
<a name="35" href="#35">35</a>    <strong class="jxr_keyword">static</strong> Logger logger = Logger.getLogger(HierarchyThresholdTestCase.<strong class="jxr_keyword">class</strong>);
<a name="36" href="#36">36</a>  
<a name="37" href="#37">37</a>    <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(String name) {
<a name="38" href="#38">38</a>      <strong class="jxr_keyword">super</strong>(name);
<a name="39" href="#39">39</a>    }
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
<a name="42" href="#42">42</a>    }
<a name="43" href="#43">43</a>    
<a name="44" href="#44">44</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() {
<a name="45" href="#45">45</a>      System.out.println(<span class="jxr_string">"Tearing down test case."</span>);
<a name="46" href="#46">46</a>      logger.getLoggerRepository().resetConfiguration();
<a name="47" href="#47">47</a>    }
<a name="48" href="#48">48</a>    
<a name="49" href="#49">49</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception {
<a name="50" href="#50">50</a>      PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold1.properties"</span>);
<a name="51" href="#51">51</a>      common();
<a name="52" href="#52">52</a>      assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.1"</span>));
<a name="53" href="#53">53</a>    }
<a name="54" href="#54">54</a>  
<a name="55" href="#55">55</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception {
<a name="56" href="#56">56</a>      PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold2.properties"</span>);
<a name="57" href="#57">57</a>      common();
<a name="58" href="#58">58</a>      assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.2"</span>));
<a name="59" href="#59">59</a>    }
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3() <strong class="jxr_keyword">throws</strong> Exception {
<a name="62" href="#62">62</a>      PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold3.properties"</span>);
<a name="63" href="#63">63</a>      common();
<a name="64" href="#64">64</a>      assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.3"</span>));
<a name="65" href="#65">65</a>    }
<a name="66" href="#66">66</a>  
<a name="67" href="#67">67</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test4() <strong class="jxr_keyword">throws</strong> Exception {
<a name="68" href="#68">68</a>      PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold4.properties"</span>);
<a name="69" href="#69">69</a>      common();
<a name="70" href="#70">70</a>      assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.4"</span>));
<a name="71" href="#71">71</a>    }
<a name="72" href="#72">72</a>  
<a name="73" href="#73">73</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test5() <strong class="jxr_keyword">throws</strong> Exception {
<a name="74" href="#74">74</a>      PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold5.properties"</span>);
<a name="75" href="#75">75</a>      common();
<a name="76" href="#76">76</a>      assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.5"</span>));
<a name="77" href="#77">77</a>    }
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test6() <strong class="jxr_keyword">throws</strong> Exception {
<a name="80" href="#80">80</a>      PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold6.properties"</span>);
<a name="81" href="#81">81</a>      common();
<a name="82" href="#82">82</a>      assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.6"</span>));
<a name="83" href="#83">83</a>    }
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test7() <strong class="jxr_keyword">throws</strong> Exception {
<a name="86" href="#86">86</a>      PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold7.properties"</span>);
<a name="87" href="#87">87</a>      common();
<a name="88" href="#88">88</a>      assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.7"</span>));
<a name="89" href="#89">89</a>    }
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test8() <strong class="jxr_keyword">throws</strong> Exception {
<a name="92" href="#92">92</a>      PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold8.properties"</span>);
<a name="93" href="#93">93</a>      common();
<a name="94" href="#94">94</a>      assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.8"</span>));
<a name="95" href="#95">95</a>    }
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>  
<a name="98" href="#98">98</a>    <strong class="jxr_keyword">static</strong> 
<a name="99" href="#99">99</a>    <strong class="jxr_keyword">void</strong> common() {
<a name="100" href="#100">100</a>     String oldThreadName = Thread.currentThread().getName();
<a name="101" href="#101">101</a>     Thread.currentThread().setName(<span class="jxr_string">"main"</span>);
<a name="102" href="#102">102</a> 
<a name="103" href="#103">103</a>     logger.log(XLevel.TRACE, <span class="jxr_string">"m0"</span>);
<a name="104" href="#104">104</a>     logger.debug(<span class="jxr_string">"m1"</span>);
<a name="105" href="#105">105</a>     logger.info(<span class="jxr_string">"m2"</span>);
<a name="106" href="#106">106</a>     logger.warn(<span class="jxr_string">"m3"</span>);
<a name="107" href="#107">107</a>     logger.error(<span class="jxr_string">"m4"</span>);
<a name="108" href="#108">108</a>     logger.fatal(<span class="jxr_string">"m5"</span>);
<a name="109" href="#109">109</a> 
<a name="110" href="#110">110</a>     Thread.currentThread().setName(oldThreadName);
<a name="111" href="#111">111</a>   }
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() {
<a name="114" href="#114">114</a>     TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite();
<a name="115" href="#115">115</a>     suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test1"</span>));
<a name="116" href="#116">116</a>     suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test2"</span>));
<a name="117" href="#117">117</a>     suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test3"</span>));
<a name="118" href="#118">118</a>     suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test4"</span>));
<a name="119" href="#119">119</a>     suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test5"</span>));
<a name="120" href="#120">120</a>     suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test6"</span>));
<a name="121" href="#121">121</a>     suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test7"</span>));
<a name="122" href="#122">122</a>     suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test8"</span>));
<a name="123" href="#123">123</a>     <strong class="jxr_keyword">return</strong> suite;
<a name="124" href="#124">124</a>   }
<a name="125" href="#125">125</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

