1920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/* 2920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * Copyright (C) 2010 Google Inc. 3920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * 4920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * Licensed under the Apache License, Version 2.0 (the "License"); 5920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * you may not use this file except in compliance with the License. 6920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * You may obtain a copy of the License at 7920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * 8920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * http://www.apache.org/licenses/LICENSE-2.0 9920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * 10920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * Unless required by applicable law or agreed to in writing, software 11920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * distributed under the License is distributed on an "AS IS" BASIS, 12920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * See the License for the specific language governing permissions and 14920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * limitations under the License. 15920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson */ 16920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 17920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonpackage doclava; 18920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 19920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonimport com.google.doclava.Errors; 20920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonimport com.google.doclava.Errors.Error; 21920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonimport com.google.doclava.Errors.ErrorMessage; 22920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonimport com.google.doclava.apicheck.ApiCheck; 23920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonimport com.google.doclava.apicheck.ApiCheck.Report; 24920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 25920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonimport junit.framework.TestCase; 26920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 27920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonimport java.util.Iterator; 28920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 29920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsonpublic class ApiCheckTest extends TestCase { 30920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson /** 31920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson * Clear all errors and make sure all future errors will be recorded. 32920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson */ 33920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void setUp() { 34920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Errors.clearErrors(); 35920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson for (Errors.Error error : Errors.ERRORS) { 36920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Errors.setErrorLevel(error.code, Errors.ERROR); 37920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 38920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 39920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 40920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testEquivalentApi() { 41920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/medium.xml", "test/api/medium.xml" }; 42920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 43920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 44920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(report.errors().size(), 0); 45920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 46920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 47920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testMethodReturnTypeChanged() { 48920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/return-type-changed-1.xml", "test/api/return-type-changed-2.xml" }; 49920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 50920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 51920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 52920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_TYPE, report.errors().iterator().next().error()); 53920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 54920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 55920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testMethodParameterChanged() { 56920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/parameter-changed-1.xml", "test/api/parameter-changed-2.xml" }; 57920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 58920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 59920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(2, report.errors().size()); 60920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 61920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Iterator<ErrorMessage> errors = report.errors().iterator(); 62920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ErrorMessage m1 = errors.next(); 63920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ErrorMessage m2 = errors.next(); 64920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertNotSame(m1.error(), m2.error()); 65920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertTrue(m1.error().equals(Errors.ADDED_METHOD) || m1.error().equals(Errors.REMOVED_METHOD)); 66920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertTrue(m2.error().equals(Errors.ADDED_METHOD) || m2.error().equals(Errors.REMOVED_METHOD)); 67920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 68920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 69920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testConstructorParameterChanged() { 70920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/parameter-changed-1.xml", "test/api/parameter-changed-3.xml" }; 71920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 72920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 73920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(2, report.errors().size()); 74920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Iterator<ErrorMessage> errors = report.errors().iterator(); 75920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ErrorMessage m1 = errors.next(); 76920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ErrorMessage m2 = errors.next(); 77920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertNotSame(m1.error(), m2.error()); 78920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertTrue(m1.error().equals(Errors.ADDED_METHOD) || m1.error().equals(Errors.REMOVED_METHOD)); 79920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertTrue(m2.error().equals(Errors.ADDED_METHOD) || m2.error().equals(Errors.REMOVED_METHOD)); 80920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 81920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 82920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testAddedClass() { 83920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/simple.xml", "test/api/add-class.xml" }; 84920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 85920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 86920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 87920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.ADDED_CLASS, report.errors().iterator().next().error()); 88920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 89920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 90920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testRemovedClass() { 91920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/add-class.xml", "test/api/simple.xml" }; 92920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 93920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 94920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 95920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.REMOVED_CLASS, report.errors().iterator().next().error()); 96920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 97920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 98920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedSuper() { 99920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/simple.xml", "test/api/changed-super.xml" }; 100920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 101920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 102920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 103920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_SUPERCLASS, report.errors().iterator().next().error()); 104920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 10511b179627c411772f1eac023d915ab8532e55211Mathieu 10611b179627c411772f1eac023d915ab8532e55211Mathieu public void testChangedAssignableReturn() { 10711b179627c411772f1eac023d915ab8532e55211Mathieu String[] args = { "test/api/changed-assignable-return-1.xml", "test/api/changed-assignable-return-2.xml" }; 10811b179627c411772f1eac023d915ab8532e55211Mathieu ApiCheck apiCheck = new ApiCheck(); 10911b179627c411772f1eac023d915ab8532e55211Mathieu Report report = apiCheck.checkApi(args); 11011b179627c411772f1eac023d915ab8532e55211Mathieu assertEquals(0, report.errors().size()); 11111b179627c411772f1eac023d915ab8532e55211Mathieu } 112920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 113ffecf3c5c207d0275d480970fd025cb9526b1905Mathieu public void testInsertedSuper() { 114ffecf3c5c207d0275d480970fd025cb9526b1905Mathieu String[] args = { "test/api/inserted-super-1.xml", "test/api/inserted-super-2.xml" }; 115ffecf3c5c207d0275d480970fd025cb9526b1905Mathieu ApiCheck apiCheck = new ApiCheck(); 116ffecf3c5c207d0275d480970fd025cb9526b1905Mathieu Report report = apiCheck.checkApi(args); 117ffecf3c5c207d0275d480970fd025cb9526b1905Mathieu assertEquals(0, report.errors().size()); 118ffecf3c5c207d0275d480970fd025cb9526b1905Mathieu } 119ffecf3c5c207d0275d480970fd025cb9526b1905Mathieu 120920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testAddedInterface() { 121920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/removed-interface.xml", "test/api/medium.xml" }; 122920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 123920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 124920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 125920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.ADDED_INTERFACE, report.errors().iterator().next().error()); 126920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 127920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 128920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testRemovedInterface() { 129920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/medium.xml", "test/api/removed-interface.xml" }; 130920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 131920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 132920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 133920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.REMOVED_INTERFACE, report.errors().iterator().next().error()); 134920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 135920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 136920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedAbstractClass() { 137920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/medium.xml", "test/api/changed-abstract.xml" }; 138920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 139920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 140920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 141920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_ABSTRACT, report.errors().iterator().next().error()); 142920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 143920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 144920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedAbstractClass2() { 145920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/changed-abstract.xml", "test/api/medium.xml" }; 146920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 147920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 148920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 149920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_ABSTRACT, report.errors().iterator().next().error()); 150920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 151920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 152920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedAbstractMethod() { 153920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/medium.xml", "test/api/changed-abstract2.xml" }; 154920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 155920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 156920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 157920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_ABSTRACT, report.errors().iterator().next().error()); 158920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 159920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 160920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedAbstractMethod2() { 161920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/changed-abstract2.xml", "test/api/medium.xml" }; 162920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 163920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 164920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 165920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_ABSTRACT, report.errors().iterator().next().error()); 166920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 167920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 168920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testAddedPackage() { 169920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/medium.xml", "test/api/added-package.xml" }; 170920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 171920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 172920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 173920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.ADDED_PACKAGE, report.errors().iterator().next().error()); 174920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 175920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 176920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testRemovedPackage() { 177920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/added-package.xml", "test/api/medium.xml" }; 178920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 179920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 180920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 181920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.REMOVED_PACKAGE, report.errors().iterator().next().error()); 182920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 183920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 184920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedValue() { 185920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-value.xml" }; 186920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 187920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 188920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 189920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_VALUE, report.errors().iterator().next().error()); 190920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 191920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 192920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedValue2() { 193920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-value2.xml" }; 194920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 195920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 196920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 197920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_VALUE, report.errors().iterator().next().error()); 198920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 199920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 200920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedType() { 201920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-type.xml" }; 202920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 203920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 204920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 205920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_TYPE, report.errors().iterator().next().error()); 206920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 207920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 208920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedFinalField() { 209920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-final.xml" }; 210920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 211920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 212920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 213920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_FINAL, report.errors().iterator().next().error()); 214920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 215920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 216920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedFinalMethod() { 217920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-final2.xml" }; 218920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 219920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 220920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 221920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_FINAL, report.errors().iterator().next().error()); 222920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 223920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 224920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedFinalClass() { 225920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-final3.xml" }; 226920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 227920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 228920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 229920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_FINAL, report.errors().iterator().next().error()); 230920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 231920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 232920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedFinalClass2() { 233920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/changed-final3.xml", "test/api/constants.xml" }; 234920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 235920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 236920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 237920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_FINAL, report.errors().iterator().next().error()); 238920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 239920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 240920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testAddedField() { 241920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/added-field.xml" }; 242920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 243920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 244920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 245920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.ADDED_FIELD, report.errors().iterator().next().error()); 246920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 247920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 248920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testRemovedField() { 249920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/added-field.xml", "test/api/constants.xml" }; 250920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 251920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 252920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 253920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.REMOVED_FIELD, report.errors().iterator().next().error()); 254920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 255920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 256920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedStaticMethod() { 257920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-static.xml" }; 258920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 259920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 260920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 261920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_STATIC, report.errors().iterator().next().error()); 262920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 263920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 264920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedStaticClass() { 265920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-static2.xml" }; 266920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 267920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 268920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 269920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_STATIC, report.errors().iterator().next().error()); 270920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 271920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 272920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedStaticField() { 273920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-static3.xml" }; 274920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 275920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 276920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 277920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_STATIC, report.errors().iterator().next().error()); 278920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 279920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 280920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedTransient() { 281920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-transient.xml" }; 282920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 283920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 284920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 285920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_TRANSIENT, report.errors().iterator().next().error()); 286920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 287920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 288920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedSynchronized() { 289920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-synchronized.xml" }; 290920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 291920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 29248bd9fd589daaa11705dce8480c5b51f5b4a9e0fElliott Hughes assertEquals(0, report.errors().size()); 293920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 294920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 295920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedVolatile() { 296920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-volatile.xml" }; 297920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 298920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 299920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 300920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_VOLATILE, report.errors().iterator().next().error()); 301920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 302920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 303920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedNative() { 304920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-native.xml" }; 305920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 306920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 307920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 308920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_NATIVE, report.errors().iterator().next().error()); 309920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 310920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 311920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedScopeMethod() { 312920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-scope.xml" }; 313920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 314920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 315920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 316920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_SCOPE, report.errors().iterator().next().error()); 317920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 318920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 319920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedScopeClass() { 320920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/changed-scope.xml", "test/api/constants.xml" }; 321920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 322920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 323920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 324920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_SCOPE, report.errors().iterator().next().error()); 325920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 326920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 327920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedScopeClass2() { 328920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-scope2.xml" }; 329920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 330920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 331920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 332920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_SCOPE, report.errors().iterator().next().error()); 333920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 334920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 335920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedScopeField() { 336920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-scope3.xml" }; 337920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 338920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 339920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 340920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_SCOPE, report.errors().iterator().next().error()); 341920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 342920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 343920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedConstructorScope() { 344920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-scope4.xml" }; 345920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 346920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 347920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 348920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_SCOPE, report.errors().iterator().next().error()); 349920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 350920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 351920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedMethodThrows() { 352920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/throws.xml", "test/api/removed-exception.xml" }; 353920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 354920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 355920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 356920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_THROWS, report.errors().iterator().next().error()); 357920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 358920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 359920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedMethodThrows2() { 360920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/removed-exception.xml", "test/api/throws.xml" }; 361920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 362920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 363920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 364920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_THROWS, report.errors().iterator().next().error()); 365920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 366920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 367920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedConstructorThrows() { 368920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/throws.xml", "test/api/added-exception.xml" }; 369920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 370920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 371920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 372920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_THROWS, report.errors().iterator().next().error()); 373920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 374920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 375920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedConstructorThrows2() { 376920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/added-exception.xml", "test/api/throws.xml" }; 377920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 378920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 379920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 380920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_THROWS, report.errors().iterator().next().error()); 381920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 382920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 383920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedMethodDeprecated() { 384920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-deprecated.xml" }; 385920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 386920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 387920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 388920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_DEPRECATED, report.errors().iterator().next().error()); 389920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 390920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 391920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedConstructorDeprecated() { 392920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-deprecated2.xml" }; 393920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 394920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 395920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 396920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_DEPRECATED, report.errors().iterator().next().error()); 397920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 398920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 399920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedFieldDeprecated() { 400920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/constants.xml", "test/api/changed-deprecated3.xml" }; 401920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 402920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 403920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 404920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_DEPRECATED, report.errors().iterator().next().error()); 405920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 406920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 407920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedClassToInterface() { 408920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/changed-class-info2.xml", "test/api/changed-class-info.xml" }; 409920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 410920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 411920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 412920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_CLASS, report.errors().iterator().next().error()); 413920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 414920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson 415920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson public void testChangedInterfaceToClass() { 416920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson String[] args = { "test/api/changed-class-info.xml", "test/api/changed-class-info2.xml" }; 417920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson ApiCheck apiCheck = new ApiCheck(); 418920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson Report report = apiCheck.checkApi(args); 419920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(1, report.errors().size()); 420920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson assertEquals(Errors.CHANGED_CLASS, report.errors().iterator().next().error()); 421920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson } 422ffecf3c5c207d0275d480970fd025cb9526b1905Mathieu} 423