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

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,86 @@
package main
import (
"reflect"
"testing"
"github.com/stretchr/testify/assert"
)
// go test -v homework_test.go
type CircularQueue struct {
values []int
// need to implement
}
func NewCircularQueue(size int) CircularQueue {
return CircularQueue{} // need to implement
}
func (q *CircularQueue) Push(value int) bool {
return false // need to implement
}
func (q *CircularQueue) Pop() bool {
return false // need to implement
}
func (q *CircularQueue) Front() int {
return -1 // need to implement
}
func (q *CircularQueue) Back() int {
return -1 // need to implement
}
func (q *CircularQueue) Empty() bool {
return false // need to implement
}
func (q *CircularQueue) Full() bool {
return false // need to implement
}
func TestCircularQueue(t *testing.T) {
const queueSize = 3
queue := NewCircularQueue(queueSize)
assert.True(t, queue.Empty())
assert.False(t, queue.Full())
assert.Equal(t, -1, queue.Front())
assert.Equal(t, -1, queue.Back())
assert.False(t, queue.Pop())
assert.True(t, queue.Push(1))
assert.True(t, queue.Push(2))
assert.True(t, queue.Push(3))
assert.False(t, queue.Push(4))
assert.True(t, reflect.DeepEqual([]int{1, 2, 3}, queue.values))
assert.False(t, queue.Empty())
assert.True(t, queue.Full())
assert.Equal(t, 1, queue.Front())
assert.Equal(t, 3, queue.Back())
assert.True(t, queue.Pop())
assert.False(t, queue.Empty())
assert.False(t, queue.Full())
assert.True(t, queue.Push(4))
assert.True(t, reflect.DeepEqual([]int{4, 2, 3}, queue.values))
assert.Equal(t, 2, queue.Front())
assert.Equal(t, 4, queue.Back())
assert.True(t, queue.Pop())
assert.True(t, queue.Pop())
assert.True(t, queue.Pop())
assert.False(t, queue.Pop())
assert.True(t, queue.Empty())
assert.False(t, queue.Full())
}