SVCS - English Documentation
Loading...
Searching...
No Matches
svcs::test::core Namespace Reference

Unit tests for core components and data structures. More...

Namespaces

namespace  mocks
 Mock objects and test doubles for core component testing.

Classes

class  BranchManagerTest
class  IndexTest
class  ManualMockObserver
 Manual mock implementation of the IObserver interface. More...
class  MockObjectStorage
 Mock implementation of ObjectStorage. More...
class  MockObserver
 Mock observer for testing event notifications. More...
class  MockSubject
 Mock implementation of ISubject (Event Bus). More...
class  NullObserver
 Null implementation of IObserver. More...
class  ObjectStorageTest
 Test fixture for the ObjectStorage class. More...
class  RepositoryManagerTest
 Test fixture for RepositoryManager tests. More...
class  RepositoryTest
 Test fixture for Repository class unit tests. More...

Functions

 TEST (BlobTest, HashIsCalculatedOnCreation)
 TEST (BlobTest, HashIsConsistent)
 TEST (BlobTest, HashChangesWithContentModification)
 TEST (BlobTest, HandlingEmptyContent)
 TEST_F (BranchManagerTest, CreateDuplicateBranch)
 TEST_F (BranchManagerTest, CreateBranchWithInvalidName)
 TEST_F (BranchManagerTest, DeleteNonExistentBranch)
 TEST_F (BranchManagerTest, RenameBranch)
 TEST_F (BranchManagerTest, RenameToExistingBranch)
 TEST_F (BranchManagerTest, SwitchToNonExistentBranch)
 TEST_F (BranchManagerTest, BranchNameValidation)
 TEST_F (BranchManagerTest, GetBranchHeadForNonExistentBranch)
Commit createTestCommit (const std::string &tree_hash, const std::vector< std::string > &parents, const std::string &message, std::time_t timestamp=1600000000)
 TEST (CommitTest, BasicInitialCommit)
 TEST (CommitTest, HashIsStableRegardlessOfParentOrder)
 TEST (CommitTest, HashChangesWithDifferentMessage)
 TEST (CommitTest, SerializationDeserializationRoundTrip)
void create_test_file (const fs::path &path, const std::string &content)
 TEST_F (IndexTest, BasicFileOperations)
 TEST_F (IndexTest, StageNewFile_AddsCorrectEntry)
 TEST_F (IndexTest, StageFile_ThrowsOnNonExistentFile)
 TEST_F (IndexTest, IsFileModified_False_WhenNoChange)
 TEST_F (IndexTest, IsFileModified_True_WhenSizeChanges)
 TEST_F (IndexTest, IsFileModified_True_WhenFileDeleted)
 TEST_F (IndexTest, IsFileModified_True_WhenUntrackedExists)
 TEST_F (IndexTest, Persistence_SaveAndLoad)
 TEST (VscObjectHashTest, CreatingHash)
 TEST (VscObjectHashTest, HashIsUniqueByType)
 TEST (VcsObjectHashTest, HashIsConsistent)
 TEST_F (RepositoryManagerTest, InitializeRepositoryCreatesStructure)
 TEST_F (RepositoryManagerTest, AddFileToStagingAddsToIndex)
 TEST_F (RepositoryManagerTest, StageMultipleFiles)
 TEST_F (RepositoryManagerTest, RepositoryStatePersistsBetweenInstances)
 TEST_F (RepositoryManagerTest, AddFileWithRelativePath)
 TEST_F (RepositoryManagerTest, AddDuplicateFile)
 TEST_F (RepositoryManagerTest, BasicRepositoryOperations)
 TEST_F (RepositoryTest, InitCreatesNecessaryDirectories)
 TEST_F (RepositoryTest, InitReturnsTrueIfDirectoriesAlreadyExist)
 TEST_F (RepositoryTest, AttachAndInitNotifyObserverCorrectly)
 TEST_F (RepositoryTest, DetachRemovesObserver)
 TEST_F (RepositoryTest, NotifySendsEventToAllObservers)
Blob create_blob (const std::string &content)
 TEST_F (ObjectStorageTest, SavesObjectToCorrectPath)
 TEST_F (ObjectStorageTest, LoadRestoresOriginalBlob)
 TEST_F (ObjectStorageTest, LoadThrowsExceptionIfNotFound)
 TEST_F (ObjectStorageTest, LoadRestoresOriginalTree)
 TEST_F (ObjectStorageTest, LoadRestoresOriginalCommit)
int main (int argc, char *argv[])
 TEST (TreeTest, HashIsCalculatedAndTypeIsCorrect)
 TEST (TreeTest, HashIsConsistentRegardlessOfInitialOrder)
 TEST (TreeTest, HashChangesWhenChildHashChanges)
 TEST (TreeTest, AddAndUpdateEntry)
 TEST (TreeTest, RemoveEntry)
 TEST (TreeTest, FindEntry)
 TEST (TreeTest, SerializationAndDeserializationRoundTrip)

Variables

const std::string HASH_TREE_EMPTY = "4b825dc642cb6eb9a060e54bf8d69288fbee4904a0a0a0a0a0a0a0a0a0a0a0a"
const std::string HASH_PARENT_A = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
const std::string HASH_PARENT_B = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
const std::string HASH_TREE_NEW = "c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1"
const std::string HASH_PARENT_P1 = "d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2"
const std::string HASH_PARENT_P2 = "e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3"
const std::string DUMMY_HASH_FILE_A = "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
const std::string DUMMY_HASH_PARENT_1 = "p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1p1"
const std::string DUMMY_HASH_PARENT_2 = "p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2p2"
const std::string DUMMY_HASH_TREE_ROOT = "t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0"
const std::string TEST_ROOT = "test_repo_root"
const std::string OBJECTS_DIR = TEST_ROOT + "/.svcs/objects"
const std::string HASH_A = "a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0"
const std::string HASH_B = "b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1"
const std::string HASH_C = "c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2"
const std::string HASH_D = "d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3"

Detailed Description

Unit tests for core components and data structures.

Contains test cases for core VCS objects, repository management, and fundamental data structures. Tests in this namespace validate the basic functionality and integrity of the system core.