LocationTest.java revision 731b74f7f44e67312a1fc4161c4e0aae221b2417
1/* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.databinding.tool.store; 18 19 20import org.junit.Test; 21 22import static org.junit.Assert.assertEquals; 23import static org.junit.Assert.assertFalse; 24import static org.junit.Assert.assertTrue; 25 26 27public class LocationTest { 28 @Test 29 public void testInvalid() { 30 assertFalse(new Location().isValid()); 31 } 32 33 @Test 34 public void testValid() { 35 Location location = new Location(0, 0, 1, 1); 36 assertTrue(location.isValid()); 37 } 38 39 @Test 40 public void testContains() { 41 Location location1 = new Location(0, 0, 10, 1); 42 Location location2 = new Location(0, 0, 9, 1); 43 assertTrue(location1.contains(location2)); 44 location2.endLine = 10; 45 assertTrue(location1.contains(location2)); 46 location2.endOffset = 2; 47 assertFalse(location1.contains(location2)); 48 } 49 50 @Test 51 public void testAbsolute() { 52 Location loc = new Location(1, 2, 3, 4); 53 assertEquals(loc, loc.toAbsoluteLocation()); 54 } 55 56 @Test 57 public void testAbsoluteWithInvalidParent() { 58 Location loc = new Location(1, 2, 3, 4); 59 loc.setParentLocation(new Location()); 60 assertEquals(loc, loc.toAbsoluteLocation()); 61 } 62 63 @Test 64 public void testAbsoluteWithParent() { 65 Location loc = new Location(1, 2, 3, 4); 66 loc.setParentLocation(new Location(10, 0, 20, 0)); 67 assertEquals(new Location(11, 2, 13, 4), loc.toAbsoluteLocation()); 68 } 69 70 @Test 71 public void testAbsoluteWith2Parents() { 72 Location loc = new Location(1, 2, 3, 4); 73 Location parent1 = new Location(5, 6, 10, 11); 74 parent1.setParentLocation(new Location(5, 6, 17, 8)); 75 loc.setParentLocation(parent1); 76 assertEquals(new Location(10, 6, 15, 11), parent1.toAbsoluteLocation()); 77 assertEquals(new Location(11, 2, 13, 4), loc.toAbsoluteLocation()); 78 } 79 80 @Test 81 public void testAbsoluteWithSameLine() { 82 Location loc = new Location(0, 2, 0, 4); 83 loc.setParentLocation(new Location(7, 2, 12, 46)); 84 assertEquals(new Location(7, 4, 7, 6), loc.toAbsoluteLocation()); 85 } 86} 87