<commit_before>#import <Foundation/Foundation.h>
#import <UnitKit/UnitKit.h>
#import "COCopier.h"
#import "COEditingContext.h"
#import "COItem.h"
#import "COItemGraph.h"
#import "COPersistentRoot.h"
#import "CORevision.h"
#import "CORevisionID.h"
#import "COSQLiteStore.h"
#import "COType.h"

#define SA(x) [NSSet setWithArray: x]

#define STORE_CLASS [COSQLiteStore class]
#define STORE_URL [NSURL fileURLWithPath: [@"~/TestStore.sqlite" stringByExpandingTildeInPath]]

/**
 * Temporary test for COSQLiteStore
 */
@interface COSQLiteStoreTestCase : NSObject
{
    COSQLiteStore *store;
}
@end

/**
 * Base class for Core Object test classes.
 */
@interface TestCommon : NSObject
{
	COEditingContext *ctx;
	COStore *store;
}

/**
 * Returns STORE_CLASS by default.
 *
 * For each test class, can be overriden to return a dedicated store class.
 */
- (Class)storeClass;
/**
 * Returns STORE_URL by default.
 *
 * For each test class, can be overriden to return a dedicated store URL.
 */
- (NSURL *)storeURL;
/**
 * Calls -discardsContextAndStore to reset the test class state to a clean state 
 * (without deleting the saved dates from store), then instantiates a new 
 * autorelease pool, a store based on -storeClass and -storeURL, and a 
 * COEditingContext using the resulting store.
 *
 * The new context and store are retained objects (-dealloc releases them).
 *
 * Note that we create an autorelease pool. This is very deliberate - the nature<commit_msg>Update import in tests to COSQLiteStore<commit_after>#import <Foundation/Foundation.h>
#import <UnitKit/UnitKit.h>
#import "COCopier.h"
#import "COEditingContext.h"
#import "COItem.h"
#import "COItemGraph.h"
#import "COPersistentRoot.h"
#import "CORevision.h"
#import "CORevisionID.h"
#import "COSQLiteStore.h"
#import "COType.h"

#define SA(x) [NSSet setWithArray: x]

#define STORE_CLASS [COSQLiteStore class]
#define STORE_URL [NSURL fileURLWithPath: [@"~/TestStore.sqlite" stringByExpandingTildeInPath]]

/**
 * Temporary test for COSQLiteStore
 */
@interface COSQLiteStoreTestCase : NSObject
{
    COSQLiteStore *store;
}
@end

/**
 * Base class for Core Object test classes.
 */
@interface TestCommon : NSObject
{
	COEditingContext *ctx;
	COSQLiteStore *store;
}

/**
 * Returns STORE_CLASS by default.
 *
 * For each test class, can be overriden to return a dedicated store class.
 */
- (Class)storeClass;
/**
 * Returns STORE_URL by default.
 *
 * For each test class, can be overriden to return a dedicated store URL.
 */
- (NSURL *)storeURL;
/**
 * Calls -discardsContextAndStore to reset the test class state to a clean state 
 * (without deleting the saved dates from store), then instantiates a new 
 * autorelease pool, a store based on -storeClass and -storeURL, and a 
 * COEditingContext using the resulting store.
 *
 * The new context and store are retained objects (-dealloc releases them).
 *
 * Note that we create an autorelease pool. This is very deliberate - the nature
{'fraction_non_alphanumeric': 0.10487144790257104, 'fraction_numerical': 0.0, 'mean_word_length': 4.475925925925926, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1954609', 'n_tokens_mistral': 986, 'n_tokens_neox': 955, 'n_words': 326}