public void testCsvTableEditorProviderIsAvailableAndHasCorrectNameAndPolicy() {
FileEditorProvider[] fileEditorProviders = FileEditorProviderManager.getInstance().getProviders(getProject(), getFile().getVirtualFile());
assertEquals(2, fileEditorProviders.length);
assertInstanceOf(fileEditorProviders[1], CsvTableEditorProvider.class);
FileEditorProvider fileEditorProvider = fileEditorProviders[1];
assertEquals(CsvTableEditorProvider.EDITOR_TYPE_ID, fileEditorProvider.getEditorTypeId());
assertEquals(FileEditorPolicy.PLACE_AFTER_DEFAULT_EDITOR, fileEditorProvider.getPolicy());
assertEquals(true, fileEditorProvider.accept(getProject(), getFile().getVirtualFile()));
CsvEditorSettingsExternalizable csvEditorSettingsExternalizable = CsvEditorSettingsExternalizable.getInstance();
csvEditorSettingsExternalizable.setEditorPrio(CsvEditorSettingsExternalizable.EditorPrio.TEXT_ONLY);
assertEquals(FileEditorPolicy.PLACE_AFTER_DEFAULT_EDITOR, fileEditorProvider.getPolicy());
assertEquals(false, fileEditorProvider.accept(getProject(), getFile().getVirtualFile()));
csvEditorSettingsExternalizable.setEditorPrio(CsvEditorSettingsExternalizable.EditorPrio.TABLE_FIRST);
assertEquals(FileEditorPolicy.HIDE_DEFAULT_EDITOR, fileEditorProvider.getPolicy());
assertEquals(true, fileEditorProvider.accept(getProject(), getFile().getVirtualFile()));
}