Skip to main content

histogram_test.go

histogram_test.go - Overview

This file contains a test function, TestBuildKeyValueSizeHistogram, that tests the functionality of building histograms for key and value sizes in a Badger database.

Detailed Documentation

TestBuildKeyValueSizeHistogram(t *testing.T)

Purpose: Tests the buildHistogram function in the context of key and value sizes. It checks if the generated histograms accurately reflect the size distribution of keys and values stored in the database.

Parameters:

  • t: A pointer to the testing.T object, used for running and reporting test results.

Returns:

  • None
Test Case 1: "All same size key-values"

Purpose: Tests the scenario where all keys and values have the same size.

  • Creates a Badger database and populates it with entries having keys of size 1 and values of size 1.
  • Builds a histogram using db.buildHistogram(nil).
  • Asserts that the histogram's properties (total count, sum, count per bin, min, and max) are correct for this scenario.
Test Case 2: "different size key-values"

Purpose: Tests the scenario where keys and values have different sizes.

  • Creates a Badger database and populates it with entries having keys and values of varying sizes (1, 2, and 3).
  • Builds a histogram using db.buildHistogram(nil).
  • Asserts that the histogram's properties are correct, reflecting the different sizes of keys and values.