/*
* Copyright 2009 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.common.css.compiler.ast;
import com.google.common.css.SourceCode;
import com.google.common.css.SourceCodeLocation;
import com.google.common.css.compiler.ast.CssCombinatorNode.Combinator;
import com.google.common.css.compiler.ast.testing.AstUtilityTestCase;
import junit.framework.AssertionFailedError;
/**
* Unit tests for {@link AstUtilityTestCase}.
*
* @author oana@google.com (Oana Florescu)
*/
public class AstUtilityTestCaseTest extends AstUtilityTestCase {
public void testDeepEquals1() throws Exception {
CssLiteralNode node1 = new CssLiteralNode("");
CssLiteralNode node2 = new CssLiteralNode("");
deepEquals(node1, node2);
}
public void testDeepEquals2() throws Exception {
CssLiteralNode node1 = new CssLiteralNode("node");
CssLiteralNode node2 = new CssLiteralNode("node");
deepEquals(node1, node2);
}
public void testDeepEquals3() throws Exception {
CssLiteralNode node1 = new CssLiteralNode("node1");
CssLiteralNode node2 = new CssLiteralNode("node2");
try {
deepEquals(node1, node2);
fail("FAIL: Node1 and Node2 should not be equal.");
} catch (AssertionFailedError e) {
if (e.getMessage().startsWith("FAIL")) {
throw e;
}
}
}
public void testDeepEquals4() throws Exception {
CssCombinatorNode parent1 = new CssCombinatorNode(
Combinator.DESCENDANT,
new SourceCodeLocation(
new SourceCode("filename1", null), 1, 1, 1, 1, 1, 1));
CssCombinatorNode parent2 = new CssCombinatorNode(
Combinator.DESCENDANT,
null);
CssSelectorNode node1 = new CssSelectorNode("selector");
CssSelectorNode node2 = new CssSelectorNode("selector");
BackDoorNodeMutation.setParent(node1, parent1);
BackDoorNodeMutation.setParent(node2, parent2);
try {
deepEquals(parent1, parent2);
fail("FAIL: Parent1 and Parent2 should not be equal.");
} catch (AssertionFailedError e) {
if (e.getMessage().startsWith("FAIL")) {
throw e;
}
}
}
public void testDeepEquals5() throws Exception {
CssPropertyValueNode parent1 = new CssPropertyValueNode();
CssPropertyValueNode parent2 = new CssPropertyValueNode();
CssLiteralNode node1 = new CssLiteralNode("node");
CssLiteralNode node2 = new CssLiteralNode("node");
BackDoorNodeMutation.addChildToBack(parent1, node1);
BackDoorNodeMutation.addChildToBack(parent2, node2);
deepEquals(parent1, parent2);
}
}