281 lines
6.8 KiB
Plaintext
281 lines
6.8 KiB
Plaintext
Compile function Test_Memory_Services(@Test)
|
|
#pragma precomp SRP_PreCompiler
|
|
|
|
$insert LOGICAL
|
|
|
|
Declare function Memory_Services
|
|
Declare subroutine Memory_Services
|
|
|
|
// TODO: Code to run before each test goes here
|
|
|
|
GotoTest
|
|
|
|
// TODO: Code to run after each test goes here
|
|
|
|
Return TestResult or 1
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// TESTS
|
|
//-----------------------------------------------------------------------------
|
|
|
|
Test DefaultHashTableHandle
|
|
|
|
Handle1 = Memory_Services('CreateHashTable')
|
|
Assert Handle1 NE ''
|
|
|
|
Handle2 = Memory_Services('GetHandle')
|
|
Assert Handle1 EQ Handle2
|
|
|
|
Memory_Services('ReleaseHashTable')
|
|
Handle3 = Memory_Services('GetHandle')
|
|
Assert Handle3 equals ''
|
|
|
|
End Test
|
|
|
|
|
|
Test DefaultHashTableValue
|
|
|
|
Memory_Services('CreateHashTable')
|
|
|
|
Memory_Services('SetValue', 'Test', 'Test')
|
|
Val = Memory_Services('GetValue', 'Test')
|
|
Assert Val equals 'Test'
|
|
|
|
KeyExists = Memory_Services('KeyExists', 'Test')
|
|
Assert KeyExists equals True$
|
|
|
|
Memory_Services('RemoveKey', 'Test')
|
|
KeyExists = Memory_Services('KeyExists', 'Test')
|
|
Assert KeyExists equals False$
|
|
|
|
Memory_Services('ReleaseHashTable')
|
|
|
|
End Test
|
|
|
|
|
|
Test DefaultHashTableValueCurrent
|
|
|
|
Memory_Services('CreateHashTable')
|
|
|
|
Memory_Services('SetValue', 'Test', 'Test')
|
|
|
|
Current = Memory_Services('IsValueCurrent', 'Test', 4)
|
|
Assert Current equals True$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 3
|
|
Repeat
|
|
Current = Memory_Services('IsValueCurrent', 'Test', 4, True$)
|
|
Assert Current equals True$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 3
|
|
Repeat
|
|
Current = Memory_Services('IsValueCurrent', 'Test', 4)
|
|
Assert Current equals True$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 2
|
|
Repeat
|
|
Current = Memory_Services('IsValueCurrent', 'Test', 4)
|
|
Assert Current equals False$
|
|
|
|
Memory_Services('ReleaseHashTable')
|
|
|
|
End Test
|
|
|
|
|
|
Test DefaultHashTableValueExpired
|
|
|
|
Memory_Services('CreateHashTable')
|
|
|
|
Memory_Services('SetValue', 'Test', 'Test')
|
|
|
|
Expired = Memory_Services('IsValueExpired', 'Test', 4)
|
|
Assert Expired equals False$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 3
|
|
Repeat
|
|
Expired = Memory_Services('IsValueExpired', 'Test', 4, True$)
|
|
Assert Expired equals False$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 3
|
|
Repeat
|
|
Expired = Memory_Services('IsValueExpired', 'Test', 4)
|
|
Assert Expired equals False$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 2
|
|
Repeat
|
|
Expired = Memory_Services('IsValueExpired', 'Test', 4)
|
|
Assert Expired equals True$
|
|
|
|
Memory_Services('ReleaseHashTable')
|
|
|
|
End Test
|
|
|
|
|
|
Test NamedHashTableHandle
|
|
|
|
CacheName = 'Name1'
|
|
|
|
Handle1 = Memory_Services('CreateHashTable', CacheName)
|
|
Assert Handle1 NE ''
|
|
|
|
Handle2 = Memory_Services('GetHandle', CacheName)
|
|
Assert Handle1 equals Handle2
|
|
|
|
Memory_Services('ReleaseHashTable', CacheName)
|
|
Handle3 = Memory_Services('GetHandle', CacheName)
|
|
Assert Handle3 equals ''
|
|
|
|
End Test
|
|
|
|
|
|
Test NamedHashTableValue
|
|
|
|
CacheName = 'Name1'
|
|
Memory_Services('CreateHashTable', CacheName)
|
|
|
|
Memory_Services('SetValue', 'Test', 'Test', CacheName)
|
|
Val = Memory_Services('GetValue', 'Test', '', '', CacheName)
|
|
Assert Val equals 'Test'
|
|
|
|
KeyExists = Memory_Services('KeyExists', 'Test', CacheName)
|
|
Assert KeyExists equals True$
|
|
|
|
Memory_Services('RemoveKey', 'Test', CacheName)
|
|
KeyExists = Memory_Services('KeyExists', 'Test', CacheName)
|
|
Assert KeyExists equals False$
|
|
|
|
Memory_Services('ReleaseHashTable', CacheName)
|
|
|
|
End Test
|
|
|
|
|
|
Test NamedHashTableValueCurrent
|
|
|
|
CacheName = 'Name1'
|
|
Memory_Services('CreateHashTable', CacheName)
|
|
|
|
Memory_Services('SetValue', 'Test', 'Test', CacheName)
|
|
|
|
Current = Memory_Services('IsValueCurrent', 'Test', 4, '', CacheName)
|
|
Assert Current equals True$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 3
|
|
Repeat
|
|
Current = Memory_Services('IsValueCurrent', 'Test', 4, True$, CacheName)
|
|
Assert Current equals True$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 3
|
|
Repeat
|
|
Current = Memory_Services('IsValueCurrent', 'Test', 4, '', CacheName)
|
|
Assert Current equals True$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 2
|
|
Repeat
|
|
Current = Memory_Services('IsValueCurrent', 'Test', 4, '', CacheName)
|
|
Assert Current equals False$
|
|
|
|
Memory_Services('ReleaseHashTable', CacheName)
|
|
|
|
End Test
|
|
|
|
|
|
Test NamedHashTableValueExpired
|
|
|
|
CacheName = 'Name1'
|
|
Memory_Services('CreateHashTable', CacheName)
|
|
|
|
Memory_Services('SetValue', 'Test', 'Test', CacheName)
|
|
|
|
Expired = Memory_Services('IsValueExpired', 'Test', 4, '', CacheName)
|
|
Assert Expired equals False$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 3
|
|
Repeat
|
|
Expired = Memory_Services('IsValueExpired', 'Test', 4, True$, CacheName)
|
|
Assert Expired equals False$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 3
|
|
Repeat
|
|
Expired = Memory_Services('IsValueExpired', 'Test', 4, '', CacheName)
|
|
Assert Expired equals False$
|
|
|
|
Now = Time()
|
|
Loop
|
|
Until Time() - Now GE 2
|
|
Repeat
|
|
Expired = Memory_Services('IsValueExpired', 'Test', 4, '', CacheName)
|
|
Assert Expired equals True$
|
|
|
|
Memory_Services('ReleaseHashTable', CacheName)
|
|
|
|
End Test
|
|
|
|
|
|
Test MultipleHashTables
|
|
|
|
CacheName = 'Name1'
|
|
|
|
Handle1 = Memory_Services('CreateHashTable')
|
|
Assert Handle1 NE ''
|
|
|
|
Handle2 = Memory_Services('CreateHashTable', CacheName)
|
|
Assert Handle2 NE ''
|
|
|
|
Assert Handle1 NE Handle2
|
|
|
|
Memory_Services('SetValue', 'Test', 'Val1')
|
|
Assert Memory_Services('GetValue', 'Test') equals 'Val1'
|
|
|
|
Memory_Services('SetValue', 'Test', 'Val2', CacheName)
|
|
Assert Memory_Services('GetValue', 'Test', '', '', CacheName) equals 'Val2'
|
|
|
|
Memory_Services('ReleaseHashTable')
|
|
Assert Memory_Services('GetHandle') equals ''
|
|
Assert Memory_Services('GetHandle', CacheName) NE ''
|
|
|
|
Memory_Services('ReleaseHashTable', CacheName)
|
|
Assert Memory_Services('GetHandle', CacheName) equals ''
|
|
|
|
End Test
|
|
|
|
|
|
Test ReleaseAllHashTables
|
|
|
|
CacheName = 'Name1'
|
|
|
|
Handle1 = Memory_Services('CreateHashTable')
|
|
Assert Handle1 NE ''
|
|
|
|
Handle2 = Memory_Services('CreateHashTable', CacheName)
|
|
Assert Handle2 NE ''
|
|
|
|
Assert Handle1 NE Handle2
|
|
|
|
Memory_Services('ReleaseAllHashTables')
|
|
Assert Memory_Services('GetHandle') equals ''
|
|
Assert Memory_Services('GetHandle', CacheName) equals ''
|
|
|
|
End Test
|