ImageKnife/entry/src/ohosTest/ets/test/lrucache.ets

132 lines
5.2 KiB
Plaintext

/*
* Copyright (C) 2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import hilog from '@ohos.hilog';
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'
import {LruCache} from '@ohos/imageknife' // DiskLruCache用例由DiskLruCache三方库提供
export default function lruCacheTest() {
describe('lruCacheTest', function () {
// Defines a test suite. Two parameters are supported: test suite name and test suite function.
beforeAll(function () {
// Presets an action, which is performed only once before all test cases of the test suite start.
// This API supports only one parameter: preset action function.
})
beforeEach(function () {
// Presets an action, which is performed before each unit test case starts.
// The number of execution times is the same as the number of test cases defined by **it**.
// This API supports only one parameter: preset action function.
})
afterEach(function () {
// Presets a clear action, which is performed after each unit test case ends.
// The number of execution times is the same as the number of test cases defined by **it**.
// This API supports only one parameter: clear action function.
})
afterAll(function () {
// Presets a clear action, which is performed after all test cases of the test suite end.
// This API supports only one parameter: clear action function.
})
it('testLruCacheSize',0, function () {
// Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function.
let memoryCache = new LruCache<string, any>(100);
expect(memoryCache.size).assertEqual(0);
expect(memoryCache.maxsize).assertEqual(100)
})
it('testLruCachePut',1, function () {
// Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function.
let memoryCache = new LruCache<string, any>(5);
memoryCache.put("1","1");
memoryCache.put("2","2");
memoryCache.put("3","3");
memoryCache.put("4","4");
memoryCache.put("5","5");
memoryCache.put("6","6");
expect(memoryCache.maxsize).assertEqual(5)
let result = memoryCache.get("1")
expect(result).assertEqual(undefined)
})
it('testLruCacheGet',2, function () {
// Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function.
let memoryCache = new LruCache<string, any>(5);
memoryCache.put("1","1");
memoryCache.put("2","2");
memoryCache.put("3","3");
memoryCache.put("4","4");
memoryCache.put("5","5");
memoryCache.put("6","6");
expect(memoryCache.maxsize).assertEqual(5)
let result = memoryCache.get("2")
expect(result).assertEqual("2")
})
it('testLruCacheAlgorithm',3, function () {
// Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function.
let memoryCache = new LruCache<string, any>(5);
memoryCache.put("1","1");
memoryCache.put("2","2");
memoryCache.put("3","3");
memoryCache.put("4","4");
memoryCache.put("5","5");
memoryCache.get("1");
memoryCache.get("2");
memoryCache.foreachLruCache(function (value, key, index) {
if(index == 0){
expect(key).assertEqual("2")
expect(value).assertEqual("2")
}
})
})
it('testLruCacheRemove',4, function () {
// Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function.
let memoryCache = new LruCache<string, any>(5);
memoryCache.put("1","1");
memoryCache.put("2","2");
memoryCache.put("3","3");
memoryCache.put("4","4");
memoryCache.put("5","5");
memoryCache.get("1");
memoryCache.get("2");
memoryCache.remove("2");
memoryCache.foreachLruCache(function (value, key, index) {
if(index == 0){
expect(key).assertEqual("1")
expect(value).assertEqual("1")
}
})
})
it('testLruCacheResize',5, function () {
// Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function.
let memoryCache = new LruCache<string, any>(5);
memoryCache.put("1","1");
memoryCache.put("2","2");
memoryCache.put("3","3");
memoryCache.put("4","4");
memoryCache.put("5","5");
memoryCache.resize(4);
let result1 = memoryCache.get("1");
expect(result1).assertEqual(undefined);
let result2 = memoryCache.get("2");
expect(result2).assertEqual("2");
})
})
}