ios/SpectrumKit/SpectrumKitTests/FSPResizeRequirementTests.mm (46 lines of code) (raw):

// Copyright (c) Facebook, Inc. and its affiliates. // // This source code is licensed under the MIT license found in the // LICENSE file in the root directory of this source tree. #import <XCTest/XCTest.h> #import <SpectrumKit/FSPResizeRequirement_Private.h> using namespace facebook::spectrum; @interface FSPResizeRequirementTests : XCTestCase @end @implementation FSPResizeRequirementTests static const CGSize kDefaultSize = { .width = 42.0f, .height = 42.0f}; static const image::Size kDefaultInternalSize = { .width = 42, .height = 42}; - (void)testDefaultValues { const auto objectExact = [FSPResizeRequirement resizeRequirementExactWithTargetSize:kDefaultSize]; XCTAssertEqual(objectExact.mode, FSPResizeRequirementModeExact); } #pragma mark - Mode - (void)testResizeRequirementExact { const auto object = [[FSPResizeRequirement alloc] initWithMode:FSPResizeRequirementModeExact targetSize:kDefaultSize]; const auto expectedInternalObject = requirements::Resize{requirements::Resize::Mode::Exact, kDefaultInternalSize}; XCTAssertTrue([object makeInternalResizeRequirement] == expectedInternalObject); } - (void)testResizeRequirementExactOrSmaller { const auto object = [[FSPResizeRequirement alloc] initWithMode:FSPResizeRequirementModeExactOrSmaller targetSize:kDefaultSize]; const auto expectedInternalObject = requirements::Resize{requirements::Resize::Mode::ExactOrSmaller, kDefaultInternalSize}; XCTAssertTrue([object makeInternalResizeRequirement] == expectedInternalObject); } #pragma mark - Equality - (void)testIsEqual { const auto object = [FSPResizeRequirement resizeRequirementExactWithTargetSize:kDefaultSize]; const auto object2 = [FSPResizeRequirement resizeRequirementExactWithTargetSize:kDefaultSize]; XCTAssertEqualObjects(object, object2); } - (void)testIsNotEqualOnDifferentMode { const auto object = [FSPResizeRequirement resizeRequirementExactWithTargetSize:kDefaultSize]; const auto object2 = [[FSPResizeRequirement alloc] initWithMode:FSPResizeRequirementModeExactOrLarger targetSize:kDefaultSize]; XCTAssertNotEqualObjects(object, object2); } - (void)testIsNotEqualOnDifferentTargetSize { const auto object = [FSPResizeRequirement resizeRequirementExactWithTargetSize:kDefaultSize]; const auto object2 = [FSPResizeRequirement resizeRequirementExactWithTargetSize:CGSizeZero]; XCTAssertNotEqualObjects(object, object2); } @end