// // BedrockTests.swift // Bedrock // // Unit tests for the Bedrock design system. // import XCTest @testable import Bedrock final class BedrockTests: XCTestCase { // MARK: - Design Constants Tests func testSpacingValuesArePositive() { XCTAssertGreaterThan(Design.Spacing.xxxSmall, 0) XCTAssertGreaterThan(Design.Spacing.small, 0) XCTAssertGreaterThan(Design.Spacing.medium, 0) XCTAssertGreaterThan(Design.Spacing.large, 0) } func testSpacingValuesAreOrdered() { XCTAssertLessThan(Design.Spacing.xxxSmall, Design.Spacing.xxSmall) XCTAssertLessThan(Design.Spacing.xxSmall, Design.Spacing.xSmall) XCTAssertLessThan(Design.Spacing.xSmall, Design.Spacing.small) XCTAssertLessThan(Design.Spacing.small, Design.Spacing.medium) XCTAssertLessThan(Design.Spacing.medium, Design.Spacing.large) XCTAssertLessThan(Design.Spacing.large, Design.Spacing.xLarge) } func testOpacityValuesAreInRange() { XCTAssertGreaterThanOrEqual(Design.Opacity.verySubtle, 0) XCTAssertLessThanOrEqual(Design.Opacity.almostFull, 1) } func testCornerRadiusValuesArePositive() { XCTAssertGreaterThan(Design.CornerRadius.small, 0) XCTAssertGreaterThan(Design.CornerRadius.medium, 0) XCTAssertGreaterThan(Design.CornerRadius.large, 0) } func testAnimationDurationsArePositive() { XCTAssertGreaterThan(Design.Animation.quick, 0) XCTAssertGreaterThan(Design.Animation.standard, 0) XCTAssertGreaterThan(Design.Animation.springDuration, 0) } func testIconSizesArePositive() { XCTAssertGreaterThan(Design.IconSize.small, 0) XCTAssertGreaterThan(Design.IconSize.medium, 0) XCTAssertGreaterThan(Design.IconSize.large, 0) } func testMinimumTouchTargetMeetsHIG() { // Apple HIG requires minimum 44pt touch targets XCTAssertGreaterThanOrEqual(Design.HitTarget.minimum, 44) } // MARK: - Version Test func testVersionIsNotEmpty() { XCTAssertFalse(BedrockInfo.version.isEmpty) } }