diff --git a/.idea/libraries/assertJ.xml b/.idea/libraries/assertJ.xml
new file mode 100644
index 000000000000..aba65818e34c
--- /dev/null
+++ b/.idea/libraries/assertJ.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/dev/assertj-core-2.1.0-javadoc.jar b/lib/dev/assertj-core-2.1.0-javadoc.jar
new file mode 100644
index 000000000000..1494765c49f9
Binary files /dev/null and b/lib/dev/assertj-core-2.1.0-javadoc.jar differ
diff --git a/lib/dev/assertj-core-2.1.0-sources.jar b/lib/dev/assertj-core-2.1.0-sources.jar
new file mode 100644
index 000000000000..2de88ef396ee
Binary files /dev/null and b/lib/dev/assertj-core-2.1.0-sources.jar differ
diff --git a/lib/dev/assertj-core-2.1.0.jar b/lib/dev/assertj-core-2.1.0.jar
new file mode 100644
index 000000000000..a3cf390f3ad7
Binary files /dev/null and b/lib/dev/assertj-core-2.1.0.jar differ
diff --git a/lib/dev/assertj-guava-2.0.0-javadoc.jar b/lib/dev/assertj-guava-2.0.0-javadoc.jar
new file mode 100644
index 000000000000..181229c44ace
Binary files /dev/null and b/lib/dev/assertj-guava-2.0.0-javadoc.jar differ
diff --git a/lib/dev/assertj-guava-2.0.0-sources.jar b/lib/dev/assertj-guava-2.0.0-sources.jar
new file mode 100644
index 000000000000..1361dbfeadae
Binary files /dev/null and b/lib/dev/assertj-guava-2.0.0-sources.jar differ
diff --git a/lib/dev/assertj-guava-2.0.0.jar b/lib/dev/assertj-guava-2.0.0.jar
new file mode 100644
index 000000000000..ebd86f013691
Binary files /dev/null and b/lib/dev/assertj-guava-2.0.0.jar differ
diff --git a/lib/dev/hamcrest-junit-2.0.0.0-javadoc.jar b/lib/dev/hamcrest-junit-2.0.0.0-javadoc.jar
deleted file mode 100644
index 054d64049fc5..000000000000
Binary files a/lib/dev/hamcrest-junit-2.0.0.0-javadoc.jar and /dev/null differ
diff --git a/lib/dev/hamcrest-junit-2.0.0.0-sources.jar b/lib/dev/hamcrest-junit-2.0.0.0-sources.jar
deleted file mode 100644
index 527776c732b6..000000000000
Binary files a/lib/dev/hamcrest-junit-2.0.0.0-sources.jar and /dev/null differ
diff --git a/lib/dev/hamcrest-junit-2.0.0.0.jar b/lib/dev/hamcrest-junit-2.0.0.0.jar
deleted file mode 100644
index 3585300bc814..000000000000
Binary files a/lib/dev/hamcrest-junit-2.0.0.0.jar and /dev/null differ
diff --git a/lib/dev/java-hamcrest-2.0.0.0-javadoc.jar b/lib/dev/java-hamcrest-2.0.0.0-javadoc.jar
deleted file mode 100644
index 962248eaa16d..000000000000
Binary files a/lib/dev/java-hamcrest-2.0.0.0-javadoc.jar and /dev/null differ
diff --git a/lib/dev/java-hamcrest-2.0.0.0-sources.jar b/lib/dev/java-hamcrest-2.0.0.0-sources.jar
deleted file mode 100644
index b32eeb734648..000000000000
Binary files a/lib/dev/java-hamcrest-2.0.0.0-sources.jar and /dev/null differ
diff --git a/lib/dev/java-hamcrest-2.0.0.0.jar b/lib/dev/java-hamcrest-2.0.0.0.jar
deleted file mode 100644
index 7310af1b3a41..000000000000
Binary files a/lib/dev/java-hamcrest-2.0.0.0.jar and /dev/null differ
diff --git a/platform/configuration-store-impl/configuration-store-impl.iml b/platform/configuration-store-impl/configuration-store-impl.iml
index 0701429b8c4d..b5409cccb90a 100644
--- a/platform/configuration-store-impl/configuration-store-impl.iml
+++ b/platform/configuration-store-impl/configuration-store-impl.iml
@@ -13,7 +13,7 @@
-
+
diff --git a/platform/configuration-store-impl/testSrc/ModuleStoreRenameTest.kt b/platform/configuration-store-impl/testSrc/ModuleStoreRenameTest.kt
index 371ff8c9fa09..58a1fe73b39e 100644
--- a/platform/configuration-store-impl/testSrc/ModuleStoreRenameTest.kt
+++ b/platform/configuration-store-impl/testSrc/ModuleStoreRenameTest.kt
@@ -21,11 +21,7 @@ import com.intellij.testFramework.fixtures.ModuleFixture
import com.intellij.testFramework.runInEdtAndWait
import com.intellij.util.Function
import com.intellij.util.SmartList
-import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.CoreMatchers.not
-import org.hamcrest.MatcherAssert.assertThat
-import org.hamcrest.collection.IsEmptyCollection.empty
-import org.hamcrest.io.FileMatchers.anExistingFile
+import org.assertj.core.api.Assertions.assertThat
import org.junit.Rule
import org.junit.Test
import org.junit.rules.ExternalResource
@@ -61,8 +57,7 @@ class ModuleStoreRenameTest {
override fun before() {
module.getMessageBus().connect().subscribe(ProjectTopics.MODULES, object : ModuleAdapter() {
override fun modulesRenamed(project: Project, modules: MutableList, oldNameProvider: Function) {
- assertThat(modules.size(), equalTo(1))
- assertThat(modules.get(0), equalTo(module))
+ assertThat(modules).containsOnly(module)
oldModuleNames.add(oldNameProvider.`fun`(module))
}
})
@@ -87,13 +82,13 @@ class ModuleStoreRenameTest {
runInEdtAndWait { module.saveStore() }
val storage = module.stateStore.getStateStorageManager().getStateStorage(StoragePathMacros.MODULE_FILE, RoamingType.PER_USER) as FileBasedStorage
val oldFile = storage.getFile()
- assertThat(oldFile, anExistingFile())
+ assertThat(oldFile).isFile()
val oldName = module.getName()
val newName = "foo"
module.change { renameModule(module, newName) }
assertRename(newName, oldFile)
- assertThat(oldModuleNames, equalTo(listOf(oldName)))
+ assertThat(oldModuleNames).containsOnly(oldName)
}
// project view
@@ -101,13 +96,13 @@ class ModuleStoreRenameTest {
runInEdtAndWait { module.saveStore() }
var storage = module.stateStore.getStateStorageManager().getStateStorage(StoragePathMacros.MODULE_FILE, RoamingType.PER_USER) as FileBasedStorage
val oldFile = storage.getFile()
- assertThat(oldFile, anExistingFile())
+ assertThat(oldFile).isFile()
val oldName = module.getName()
val newName = "foo"
runInEdtAndWait { runWriteAction { LocalFileSystem.getInstance().refreshAndFindFileByIoFile(oldFile)!!.rename(null, "$newName${ModuleFileType.DOT_DEFAULT_EXTENSION}") } }
assertRename(newName, oldFile)
- assertThat(oldModuleNames, equalTo(listOf(oldName)))
+ assertThat(oldModuleNames).containsOnly(oldName)
}
// we cannot test external rename yet, because it is not supported - ModuleImpl doesn't support delete and create events (in case of external change we don't get move event, but get "delete old" and "create new")
@@ -115,13 +110,14 @@ class ModuleStoreRenameTest {
private fun assertRename(newName: String, oldFile: File) {
val storageManager = moduleFixture.getModule().stateStore.getStateStorageManager()
val newFile = (storageManager.getStateStorage(StoragePathMacros.MODULE_FILE, RoamingType.PER_USER) as FileBasedStorage).getFile()
- assertThat(newFile.getName(), equalTo("$newName${ModuleFileType.DOT_DEFAULT_EXTENSION}"))
- assertThat(oldFile, not(anExistingFile()))
- assertThat(oldFile, not(equalTo(newFile)))
- assertThat(newFile, anExistingFile())
+ assertThat(newFile.getName()).isEqualTo("$newName${ModuleFileType.DOT_DEFAULT_EXTENSION}")
+ assertThat(oldFile)
+ .doesNotExist()
+ .isNotEqualTo(newFile)
+ assertThat(newFile).isFile()
// ensure that macro value updated
- assertThat(storageManager.expandMacros(StoragePathMacros.MODULE_FILE), equalTo(newFile.systemIndependentPath))
+ assertThat(storageManager.expandMacros(StoragePathMacros.MODULE_FILE)).isEqualTo(newFile.systemIndependentPath)
}
public Test fun `rename module parent virtual dir`() {
@@ -135,9 +131,9 @@ class ModuleStoreRenameTest {
val newFile = File(parentVirtualDir.getPath(), module.getName() + ModuleFileType.DOT_DEFAULT_EXTENSION)
try {
- assertThat(newFile, anExistingFile())
+ assertThat(newFile).isFile()
assertRename(module.getName(), oldFile)
- assertThat(oldModuleNames, empty())
+ assertThat(oldModuleNames).isEmpty()
}
finally {
runInEdtAndWait { runWriteAction { parentVirtualDir.delete(this) } }
diff --git a/platform/configuration-store-impl/testSrc/ModuleStoreTest.kt b/platform/configuration-store-impl/testSrc/ModuleStoreTest.kt
index 5a32d3eac2f8..42e10e2594dc 100644
--- a/platform/configuration-store-impl/testSrc/ModuleStoreTest.kt
+++ b/platform/configuration-store-impl/testSrc/ModuleStoreTest.kt
@@ -13,10 +13,7 @@ import com.intellij.openapi.util.io.parentSystemIndependentPath
import com.intellij.openapi.util.io.systemIndependentPath
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.testFramework.*
-import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.MatcherAssert.assertThat
-import org.hamcrest.core.StringStartsWith.startsWith
-import org.hamcrest.io.FileMatchers.anExistingFile
+import org.assertj.core.api.Assertions.assertThat
import org.junit.ClassRule
import org.junit.Rule
import org.junit.Test
@@ -56,18 +53,17 @@ import java.io.File
projectRule.project.runInStoreLoadMode {
moduleFile.loadModule().useAndDispose {
- assertThat(getOptionValue("foo"), equalTo("bar"))
+ assertThat(getOptionValue("foo")).isEqualTo("bar")
setOption("foo", "not bar")
saveStore()
}
moduleFile.loadModule().useAndDispose {
- assertThat(getOptionValue("foo"), equalTo("not bar"))
+ assertThat(getOptionValue("foo")).isEqualTo("not bar")
setOption("foo", "not bar")
saveStore()
-
}
}
}
@@ -79,13 +75,13 @@ import java.io.File
moduleFile.createModule().useAndDispose {
ModuleRootModificationUtil.addContentRoot(this, moduleFile.parentSystemIndependentPath)
saveStore()
- assertThat(moduleFile, anExistingFile())
- assertThat(moduleFile.readText(), startsWith("\n"))
+ assertThat(moduleFile).isFile()
+ assertThat(moduleFile.readText()).startsWith("\n")
ClasspathStorage.setStorageType(ModuleRootManager.getInstance(this), "eclipse")
saveStore()
- assertThat(moduleFile.readText(), equalTo("""
-"""))
+ assertThat(moduleFile).hasContent("""
+""")
}
}
}
diff --git a/platform/configuration-store-impl/testSrc/ProjectStoreTest.kt b/platform/configuration-store-impl/testSrc/ProjectStoreTest.kt
index e8c05625954b..41ef1a3ada2e 100644
--- a/platform/configuration-store-impl/testSrc/ProjectStoreTest.kt
+++ b/platform/configuration-store-impl/testSrc/ProjectStoreTest.kt
@@ -28,10 +28,7 @@ import com.intellij.testFramework.ProjectRule
import com.intellij.testFramework.RuleChain
import com.intellij.testFramework.TemporaryDirectory
import com.intellij.testFramework.runInEdtAndWait
-import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.MatcherAssert.assertThat
-import org.hamcrest.core.StringStartsWith.startsWith
-import org.hamcrest.io.FileMatchers.anExistingFile
+import org.assertj.core.api.Assertions.assertThat
import org.intellij.lang.annotations.Language
import org.junit.ClassRule
import org.junit.Rule
@@ -115,7 +112,7 @@ class ProjectStoreTest {
project.getBaseDir().refresh(false, true)
(ProjectManager.getInstance() as StoreAwareProjectManager).flushChangedAlarm()
- assertThat(testComponent.getState(), equalTo(TestState("newValue")))
+ assertThat(testComponent.getState()).isEqualTo(TestState("newValue"))
}
}
@@ -128,16 +125,16 @@ class ProjectStoreTest {
private fun test(project: Project): TestComponent {
val testComponent = TestComponent()
project.stateStore.initComponent(testComponent, true)
- assertThat(testComponent.getState(), equalTo(TestState("customValue")))
+ assertThat(testComponent.getState()).isEqualTo(TestState("customValue"))
testComponent.getState()!!.value = "foo"
project.saveStore()
val file = File(project.stateStore.getStateStorageManager().expandMacros(StoragePathMacros.PROJECT_FILE))
- assertThat(file, anExistingFile())
+ assertThat(file).isFile()
// test exact string - xml prolog, line separators, indentation and so on must be exactly the same
// todo get rid of default component states here
- assertThat(file.readText(), startsWith(iprFileContent.replace("customValue", "foo").replace("", "")))
+ assertThat(file.readText()).startsWith(iprFileContent.replace("customValue", "foo").replace("", ""))
return testComponent
}
diff --git a/platform/configuration-store-impl/testSrc/SchemeManagerTest.kt b/platform/configuration-store-impl/testSrc/SchemeManagerTest.kt
index 5644cc85001b..b40b22d07bb8 100644
--- a/platform/configuration-store-impl/testSrc/SchemeManagerTest.kt
+++ b/platform/configuration-store-impl/testSrc/SchemeManagerTest.kt
@@ -34,14 +34,7 @@ import com.intellij.util.xmlb.annotations.Attribute
import com.intellij.util.xmlb.annotations.Tag
import com.intellij.util.xmlb.annotations.Transient
import gnu.trove.THashMap
-import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.CoreMatchers.not
-import org.hamcrest.CoreMatchers.notNullValue
-import org.hamcrest.CoreMatchers.sameInstance
-import org.hamcrest.MatcherAssert.assertThat
-import org.hamcrest.collection.IsMapContaining.hasKey
-import org.hamcrest.io.FileMatchers.anExistingDirectory
-import org.hamcrest.io.FileMatchers.anExistingFile
+import org.assertj.core.api.Assertions.assertThat
import org.jdom.Element
import org.junit.ClassRule
import org.junit.Rule
@@ -90,8 +83,7 @@ class SchemeManagerTest {
val manager = createAndLoad("options1")
val scheme = manager.findSchemeByName("first")
- assertThat(scheme, notNullValue())
- assert(scheme != null)
+ assertThat(scheme).isNotNull()
scheme!!.setName("renamed")
manager.save()
@@ -102,11 +94,11 @@ class SchemeManagerTest {
val manager = createAndLoad("options1")
val first = manager.findSchemeByName("first")
- assertThat(first, notNullValue())
+ assertThat(first).isNotNull()
assert(first != null)
first!!.setName("2")
val second = manager.findSchemeByName("second")
- assertThat(second, notNullValue())
+ assertThat(second).isNotNull()
assert(second != null)
second!!.setName("1")
manager.save()
@@ -118,7 +110,7 @@ class SchemeManagerTest {
val manager = createAndLoad("options1")
val firstScheme = manager.findSchemeByName("first")
- assertThat(firstScheme, notNullValue())
+ assertThat(firstScheme).isNotNull()
assert(firstScheme != null)
firstScheme!!.setName("first_renamed")
manager.save()
@@ -137,7 +129,7 @@ class SchemeManagerTest {
public Test fun testDeleteAndCreateSchemeWithTheSameName() {
val manager = createAndLoad("options1")
val firstScheme = manager.findSchemeByName("first")
- assertThat(firstScheme, notNullValue())
+ assertThat(firstScheme).isNotNull()
manager.removeScheme(firstScheme!!)
manager.addScheme(TestScheme("first"))
@@ -150,7 +142,7 @@ class SchemeManagerTest {
val scheme = TestScheme("first")
manager.addNewScheme(scheme, false)
- assertThat("first2", equalTo(scheme.getName()))
+ assertThat("first2").isEqualTo(scheme.getName())
}
fun TestScheme.save(file: File) {
@@ -170,43 +162,42 @@ class SchemeManagerTest {
override fun getSchemeExtension() = ".icls"
}, RoamingType.PER_USER, null, dir)
schemesManager.loadSchemes()
- assertThat(schemesManager.getAllSchemes(), equalTo(listOf(scheme)))
+ assertThat(schemesManager.getAllSchemes()).containsOnly(scheme)
- assertThat(File(dir, "1.icls"), anExistingFile())
- assertThat(File(dir, "1.xml"), anExistingFile())
+ assertThat(File(dir, "1.icls")).isFile()
+ assertThat(File(dir, "1.xml")).isFile()
scheme.data = "newTrue"
schemesManager.save()
- assertThat(File(dir, "1.icls"), anExistingFile())
- assertThat(File(dir, "1.xml"), not(anExistingFile()))
+ assertThat(File(dir, "1.icls")).isFile()
+ assertThat(File(dir, "1.xml")).doesNotExist()
}
public Test fun setSchemes() {
val dir = tempDirManager.newDirectory()
val schemeManager = createSchemeManager(dir)
schemeManager.loadSchemes()
- assertThat(schemeManager.getAllSchemes().isEmpty(), equalTo(true))
+ assertThat(schemeManager.getAllSchemes()).isEmpty()
val scheme = TestScheme("s1")
schemeManager.setSchemes(listOf(scheme))
val schemes = schemeManager.getAllSchemes()
- assertThat(schemes.size(), equalTo(1))
- assertThat(schemes.get(0), sameInstance(scheme))
+ assertThat(schemes).containsOnly(scheme)
- assertThat(File(dir, "s1.xml"), not(anExistingFile()))
+ assertThat(File(dir, "s1.xml")).doesNotExist()
scheme.data = "newTrue"
schemeManager.save()
- assertThat(File(dir, "s1.xml"), anExistingFile())
+ assertThat(File(dir, "s1.xml")).isFile()
schemeManager.setSchemes(emptyList())
schemeManager.save()
- assertThat(dir, not(anExistingFile()))
+ assertThat(dir).doesNotExist()
}
public Test fun `save only if scheme differs from bundled`() {
@@ -216,35 +207,31 @@ class SchemeManagerTest {
val bundledPath = "/bundledSchemes/default"
schemeManager.loadBundledScheme(bundledPath, this, converter)
var schemes = schemeManager.getAllSchemes()
- assertThat(schemes.size(), equalTo(1))
val customScheme = TestScheme("default")
- assertThat(schemes.get(0), equalTo(customScheme))
+ assertThat(schemes).containsOnly(customScheme)
schemeManager.save()
- assertThat(dir, not(anExistingFile()))
+ assertThat(dir).doesNotExist()
schemeManager.save()
schemeManager.setSchemes(listOf(customScheme))
- assertThat(dir, not(anExistingFile()))
+ assertThat(dir).doesNotExist()
schemes = schemeManager.getAllSchemes()
- assertThat(schemes.size(), equalTo(1))
- assertThat(schemes.get(0), sameInstance(customScheme))
+ assertThat(schemes).containsOnly(customScheme)
customScheme.data = "foo"
schemeManager.save()
- val schemeFile = File(dir, "default.xml")
- assertThat(schemeFile, anExistingFile())
+ assertThat(File(dir, "default.xml")).isFile()
schemeManager = createSchemeManager(dir)
schemeManager.loadBundledScheme(bundledPath, this, converter)
schemeManager.loadSchemes()
schemes = schemeManager.getAllSchemes()
- assertThat(schemes.get(0), equalTo(customScheme))
+ assertThat(schemes).containsOnly(customScheme)
}
-
public Test fun `don't remove dir if no schemes but at least one non-hidden file exists`() {
val dir = tempDirManager.newDirectory()
val schemeManager = createSchemeManager(dir)
@@ -255,7 +242,7 @@ class SchemeManagerTest {
schemeManager.save()
val schemeFile = File(dir, "s1.xml")
- assertThat(schemeFile.exists(), equalTo(true))
+ assertThat(schemeFile).isFile()
schemeManager.setSchemes(emptyList())
@@ -263,8 +250,8 @@ class SchemeManagerTest {
schemeManager.save()
- assertThat(schemeFile.exists(), equalTo(false))
- assertThat(dir.exists(), equalTo(true))
+ assertThat(schemeFile).doesNotExist()
+ assertThat(dir).isDirectory()
}
public Test fun `remove empty directory only if some file was deleted`() {
@@ -272,45 +259,44 @@ class SchemeManagerTest {
val schemeManager = createSchemeManager(dir)
schemeManager.loadSchemes()
- assertThat(dir.mkdirs(), equalTo(true))
+ assertThat(dir.mkdirs()).isTrue()
schemeManager.save()
- assertThat(dir, anExistingDirectory())
+ assertThat(dir).isDirectory()
schemeManager.addScheme(TestScheme("test"))
schemeManager.save()
- assertThat(dir, anExistingDirectory())
+ assertThat(dir).isDirectory()
schemeManager.setSchemes(emptyList())
schemeManager.save()
- assertThat(dir, not(anExistingDirectory()))
+ assertThat(dir).doesNotExist()
}
public Test fun rename() {
val dir = tempDirManager.newDirectory()
val schemeManager = createSchemeManager(dir)
schemeManager.loadSchemes()
- assertThat(schemeManager.getAllSchemes().isEmpty(), equalTo(true))
+ assertThat(schemeManager.getAllSchemes()).isEmpty()
val scheme = TestScheme("s1")
schemeManager.setSchemes(listOf(scheme))
val schemes = schemeManager.getAllSchemes()
- assertThat(schemes.size(), equalTo(1))
- assertThat(schemes.get(0), sameInstance(scheme))
+ assertThat(schemes).containsOnly(scheme)
- assertThat(File(dir, "s1.xml").exists(), equalTo(false))
+ assertThat(File(dir, "s1.xml")).doesNotExist()
scheme.data = "newTrue"
schemeManager.save()
- assertThat(File(dir, "s1.xml").exists(), equalTo(true))
+ assertThat(File(dir, "s1.xml")).isFile()
scheme.setName("s2")
schemeManager.save()
- assertThat(File(dir, "s1.xml").exists(), equalTo(false))
- assertThat(File(dir, "s2.xml").exists(), equalTo(true))
+ assertThat(File(dir, "s1.xml")).doesNotExist()
+ assertThat(File(dir, "s2.xml")).isFile()
}
public Test fun `path must not contains ROOT_CONFIG macro`() {
@@ -369,13 +355,13 @@ private fun checkSchemes(baseDir: File, expected: String, ignoreDeleted: Boolean
for (file in files) {
val fileName = FileUtil.getNameWithoutExtension(file)
if ("--deleted" == fileName && ignoreDeleted) {
- assertThat