Исходники и презентации

This commit is contained in:
2025-05-23 07:26:39 +03:00
parent aa948179d5
commit 02d8430a3a
514 changed files with 13773 additions and 0 deletions

View File

@ -0,0 +1,49 @@
package main
import (
"reflect"
"testing"
"unsafe"
"github.com/stretchr/testify/assert"
)
// go test -v homework_test.go
func Defragment(memory []byte, pointers []unsafe.Pointer) {
// need to implement
}
func TestDefragmentation(t *testing.T) {
var fragmentedMemory = []byte{
0xFF, 0x00, 0x00, 0x00,
0x00, 0xFF, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00,
0x00, 0x00, 0x00, 0xFF,
}
var fragmentedPointers = []unsafe.Pointer{
unsafe.Pointer(&fragmentedMemory[0]),
unsafe.Pointer(&fragmentedMemory[5]),
unsafe.Pointer(&fragmentedMemory[10]),
unsafe.Pointer(&fragmentedMemory[15]),
}
var defragmentedPointers = []unsafe.Pointer{
unsafe.Pointer(&fragmentedMemory[0]),
unsafe.Pointer(&fragmentedMemory[1]),
unsafe.Pointer(&fragmentedMemory[2]),
unsafe.Pointer(&fragmentedMemory[3]),
}
var defragmentedMemory = []byte{
0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
}
Defragment(fragmentedMemory, fragmentedPointers)
assert.True(t, reflect.DeepEqual(defragmentedMemory, fragmentedMemory))
assert.True(t, reflect.DeepEqual(defragmentedPointers, fragmentedPointers))
}