001: package net.javacoding.jspider.core.rule.impl;
002:
003: import junit.framework.TestCase;
004: import net.javacoding.jspider.api.model.Decision;
005: import net.javacoding.jspider.core.model.DecisionInternal;
006:
007: /**
008: * $Id: DecisionImplTest.java,v 1.2 2003/03/09 09:25:23 vanrogu Exp $
009: */
010: public class DecisionImplTest extends TestCase {
011:
012: public DecisionImplTest() {
013: super ("DecisionImplTest");
014: }
015:
016: public void testDefaultDecision() {
017: DecisionInternal di = new DecisionInternal();
018: int decision = di.getDecision();
019: int expected = Decision.RULE_DONTCARE;
020: assertEquals("default decision is not DONTCARE", expected,
021: decision);
022: }
023:
024: public void testVetoableDefault() {
025: DecisionInternal di = new DecisionInternal();
026: boolean vetoable = di.isVetoable();
027: assertTrue("default decision is not vetoable", vetoable);
028: }
029:
030: public void testVetoableDontCare() {
031: DecisionInternal di = new DecisionInternal(
032: Decision.RULE_DONTCARE);
033: boolean vetoable = di.isVetoable();
034: assertTrue("dontcare decision is not vetoable", vetoable);
035: }
036:
037: public void testVetoableAccept() {
038: DecisionInternal di = new DecisionInternal(Decision.RULE_ACCEPT);
039: boolean vetoable = di.isVetoable();
040: assertTrue("accept decision is not vetoable", vetoable);
041: }
042:
043: public void testVetoableIgnore() {
044: DecisionInternal di = new DecisionInternal(Decision.RULE_IGNORE);
045: boolean vetoable = di.isVetoable();
046: assertFalse("accept decision is vetoable", vetoable);
047: }
048:
049: public void testVetoableForbidden() {
050: DecisionInternal di = new DecisionInternal(
051: Decision.RULE_FORBIDDEN);
052: boolean vetoable = di.isVetoable();
053: assertFalse("forbidden decision is vetoable", vetoable);
054: }
055:
056: public void testMergeDontCareDontCare() {
057: DecisionInternal d1 = new DecisionInternal(
058: Decision.RULE_DONTCARE);
059: DecisionInternal d2 = new DecisionInternal(
060: Decision.RULE_DONTCARE);
061: d1.merge(d2);
062: int decision = d1.getDecision();
063: int expected = Decision.RULE_DONTCARE;
064: assertEquals("merge didn't work correctly", expected, decision);
065: }
066:
067: public void testMergeDontCareAccept() {
068: DecisionInternal d1 = new DecisionInternal(
069: Decision.RULE_DONTCARE);
070: DecisionInternal d2 = new DecisionInternal(Decision.RULE_ACCEPT);
071: d1.merge(d2);
072: int decision = d1.getDecision();
073: int expected = Decision.RULE_ACCEPT;
074: assertEquals("merge didn't work correctly", expected, decision);
075: }
076:
077: public void testMergeDontCareIgnore() {
078: DecisionInternal d1 = new DecisionInternal(
079: Decision.RULE_DONTCARE);
080: DecisionInternal d2 = new DecisionInternal(Decision.RULE_IGNORE);
081: d1.merge(d2);
082: int decision = d1.getDecision();
083: int expected = Decision.RULE_IGNORE;
084: assertEquals("merge didn't work correctly", expected, decision);
085: }
086:
087: public void testMergeDontCareForbidden() {
088: DecisionInternal d1 = new DecisionInternal(
089: Decision.RULE_DONTCARE);
090: DecisionInternal d2 = new DecisionInternal(
091: Decision.RULE_FORBIDDEN);
092: d1.merge(d2);
093: int decision = d1.getDecision();
094: int expected = Decision.RULE_FORBIDDEN;
095: assertEquals("merge didn't work correctly", expected, decision);
096: }
097:
098: public void testMergeAcceptDontCare() {
099: DecisionInternal d1 = new DecisionInternal(Decision.RULE_ACCEPT);
100: DecisionInternal d2 = new DecisionInternal(
101: Decision.RULE_DONTCARE);
102: d1.merge(d2);
103: int decision = d1.getDecision();
104: int expected = Decision.RULE_ACCEPT;
105: assertEquals("merge didn't work correctly", expected, decision);
106: }
107:
108: public void testMergeAcceptAccept() {
109: DecisionInternal d1 = new DecisionInternal(Decision.RULE_ACCEPT);
110: DecisionInternal d2 = new DecisionInternal(Decision.RULE_ACCEPT);
111: d1.merge(d2);
112: int decision = d1.getDecision();
113: int expected = Decision.RULE_ACCEPT;
114: assertEquals("merge didn't work correctly", expected, decision);
115: }
116:
117: public void testMergeAcceptIgnore() {
118: DecisionInternal d1 = new DecisionInternal(Decision.RULE_ACCEPT);
119: DecisionInternal d2 = new DecisionInternal(Decision.RULE_IGNORE);
120: d1.merge(d2);
121: int decision = d1.getDecision();
122: int expected = Decision.RULE_IGNORE;
123: assertEquals("merge didn't work correctly", expected, decision);
124: }
125:
126: public void testMergeAcceptForbidden() {
127: DecisionInternal d1 = new DecisionInternal(Decision.RULE_ACCEPT);
128: DecisionInternal d2 = new DecisionInternal(
129: Decision.RULE_FORBIDDEN);
130: d1.merge(d2);
131: int decision = d1.getDecision();
132: int expected = Decision.RULE_FORBIDDEN;
133: assertEquals("merge didn't work correctly", expected, decision);
134: }
135:
136: public void testMergeIgnoreDontCare() {
137: DecisionInternal d1 = new DecisionInternal(Decision.RULE_IGNORE);
138: DecisionInternal d2 = new DecisionInternal(
139: Decision.RULE_DONTCARE);
140: d1.merge(d2);
141: int decision = d1.getDecision();
142: int expected = Decision.RULE_IGNORE;
143: assertEquals("merge didn't work correctly", expected, decision);
144: }
145:
146: public void testMergeIgnoreAccept() {
147: DecisionInternal d1 = new DecisionInternal(Decision.RULE_IGNORE);
148: DecisionInternal d2 = new DecisionInternal(Decision.RULE_ACCEPT);
149: d1.merge(d2);
150: int decision = d1.getDecision();
151: int expected = Decision.RULE_IGNORE;
152: assertEquals("merge didn't work correctly", expected, decision);
153: }
154:
155: public void testMergeIgnoreIgnore() {
156: DecisionInternal d1 = new DecisionInternal(Decision.RULE_IGNORE);
157: DecisionInternal d2 = new DecisionInternal(Decision.RULE_IGNORE);
158: d1.merge(d2);
159: int decision = d1.getDecision();
160: int expected = Decision.RULE_IGNORE;
161: assertEquals("merge didn't work correctly", expected, decision);
162: }
163:
164: public void testMergeIgnoreForbidden() {
165: DecisionInternal d1 = new DecisionInternal(Decision.RULE_IGNORE);
166: DecisionInternal d2 = new DecisionInternal(
167: Decision.RULE_FORBIDDEN);
168: d1.merge(d2);
169: int decision = d1.getDecision();
170: int expected = Decision.RULE_FORBIDDEN;
171: assertEquals("merge didn't work correctly", expected, decision);
172: }
173:
174: public void testMergeForbiddenDontCare() {
175: DecisionInternal d1 = new DecisionInternal(
176: Decision.RULE_FORBIDDEN);
177: DecisionInternal d2 = new DecisionInternal(
178: Decision.RULE_DONTCARE);
179: d1.merge(d2);
180: int decision = d1.getDecision();
181: int expected = Decision.RULE_FORBIDDEN;
182: assertEquals("merge didn't work correctly", expected, decision);
183: }
184:
185: public void testMergeForbiddenAccept() {
186: DecisionInternal d1 = new DecisionInternal(
187: Decision.RULE_FORBIDDEN);
188: DecisionInternal d2 = new DecisionInternal(Decision.RULE_ACCEPT);
189: d1.merge(d2);
190: int decision = d1.getDecision();
191: int expected = Decision.RULE_FORBIDDEN;
192: assertEquals("merge didn't work correctly", expected, decision);
193: }
194:
195: public void testMergeForbiddenIgnore() {
196: DecisionInternal d1 = new DecisionInternal(
197: Decision.RULE_FORBIDDEN);
198: DecisionInternal d2 = new DecisionInternal(Decision.RULE_IGNORE);
199: d1.merge(d2);
200: int decision = d1.getDecision();
201: int expected = Decision.RULE_FORBIDDEN;
202: assertEquals("merge didn't work correctly", expected, decision);
203: }
204:
205: public void testMergeForbiddenForbidden() {
206: DecisionInternal d1 = new DecisionInternal(
207: Decision.RULE_FORBIDDEN);
208: DecisionInternal d2 = new DecisionInternal(
209: Decision.RULE_FORBIDDEN);
210: d1.merge(d2);
211: int decision = d1.getDecision();
212: int expected = Decision.RULE_FORBIDDEN;
213: assertEquals("merge didn't work correctly", expected, decision);
214: }
215:
216: }
|