Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tgymnich committed Dec 10, 2020
1 parent 8031bab commit 333dbe3
Showing 1 changed file with 81 additions and 0 deletions.
81 changes: 81 additions & 0 deletions Tests/BitwiseRotateTests/BitwiseRotateTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,46 @@ final class BitwiseRotateTests: XCTestCase {
XCTAssertEqual(Int8(0b0110_0111) <<< 4, Int8(0b0111_0110))
}

func testRotatedLeft() {
var n1 = 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000001
n1.rotatedLeft(0)
XCTAssertEqual(n1, 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000001)
n1.rotatedLeft(10)
XCTAssertEqual(n1, 0b00000000_00000000_00000000_00000000_00000000_00000000_00000100_00000000)

var n2 = 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_01010101
n2.rotatedLeft(23)
XCTAssertEqual(n2, 0b00000000_00000000_00000000_00000000_00101010_10000000_00000000_00000000)

var n3: UInt = UInt(0b011111111_11111111_11111111_1111111_11111111_11111111_11111111_11111111)
n3.rotatedLeft(1)
XCTAssertEqual(n3, UInt(0b111111111_11111111_11111111_1111111_11111111_11111111_11111111_11111110))
var n4: UInt = UInt(0b011111111_11111111_11111111_1111111_11111111_11111111_11111111_11111111)
n4.rotatedLeft(63)
XCTAssertEqual(n4, UInt(0b101111111_11111111_11111111_1111111_11111111_11111111_11111111_11111111))

var n5: UInt32 = UInt32(0b0111_1111_0000_0000_0000_0000_1111_1111)
n5.rotatedLeft(8)
XCTAssertEqual(n5, UInt32(0b0000_0000_0000_0000_1111_1111_0111_1111))
var n6: Int32 = Int32(0b0000_0000_1111_1111_0111_1111_1111_1111)
n6.rotatedLeft(16)
XCTAssertEqual(n6, Int32(0b0111_1111_1111_1111_0000_0000_1111_1111))

var n7: UInt16 = UInt16(0b00000000_11111111)
n7.rotatedLeft(4)
XCTAssertEqual(n7, UInt16(0b00001111_11110000))
var n8: Int16 = Int16(0b01100111_01111111)
n8.rotatedLeft(8)
XCTAssertEqual(n8, Int16(0b01111111_01100111))

var n9: UInt8 = UInt8(0b11000111)
n9.rotatedLeft(5)
XCTAssertEqual(n9, UInt8(0b1111_1000))
var n10: Int8 = Int8(0b0110_0111)
n10.rotatedLeft(4)
XCTAssertEqual(n10, Int8(0b0111_0110))
}

func testRotateRight() {
XCTAssertEqual(0b00000000_00000000_00000000_00000000_00000000_00000000_00000100_00000000 >>> 10, 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000001)
XCTAssertEqual(0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000001 >>> 0, 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000001)
Expand All @@ -37,4 +77,45 @@ final class BitwiseRotateTests: XCTestCase {
XCTAssertEqual(UInt8(0b1111_1000) >>> 5, UInt8(0b11000111))
XCTAssertEqual(Int8(0b0111_0110) >>> 4, Int8(0b0110_0111))
}

func testRotatedRight() {
var n0 = 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000001
n0.rotatedRight(0)
XCTAssertEqual(n0 <<< 0, 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000001)
var n1 = 0b00000000_00000000_00000000_00000000_00000000_00000000_00000100_00000000
n1.rotatedRight(10)
XCTAssertEqual(n1, 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000001)

var n2 = 0b00000000_00000000_00000000_00000000_00101010_10000000_00000000_00000000
n2.rotatedRight(23)
XCTAssertEqual(n2, 0b00000000_00000000_00000000_00000000_00000000_00000000_00000000_01010101)

var n3: UInt = UInt(0b111111111_11111111_11111111_1111111_11111111_11111111_11111111_11111110)
n3.rotatedRight(1)
XCTAssertEqual(n3, UInt(0b011111111_11111111_11111111_1111111_11111111_11111111_11111111_11111111))
var n4: UInt = UInt(0b101111111_11111111_11111111_1111111_11111111_11111111_11111111_11111111)
n4.rotatedRight(63)
XCTAssertEqual(n4, UInt(0b011111111_11111111_11111111_1111111_11111111_11111111_11111111_11111111))

var n5: UInt32 = UInt32(0b0000_0000_0000_0000_1111_1111_0111_1111)
n5.rotatedRight(8)
XCTAssertEqual(n5, UInt32(0b0111_1111_0000_0000_0000_0000_1111_1111))
var n6: Int32 = Int32(0b0111_1111_1111_1111_0000_0000_1111_1111)
n6.rotatedRight(16)
XCTAssertEqual(n6, Int32(0b0000_0000_1111_1111_0111_1111_1111_1111))

var n7: UInt16 = UInt16(0b00001111_11110000)
n7.rotatedRight(4)
XCTAssertEqual(n7, UInt16(0b00000000_11111111))
var n8: Int16 = Int16(0b01111111_01100111)
n8.rotatedRight(8)
XCTAssertEqual(n8, Int16(0b01100111_01111111))

var n9: UInt8 = UInt8(0b1111_1000)
n9.rotatedRight(5)
XCTAssertEqual(n9, UInt8(0b11000111))
var n10: Int8 = Int8(0b0111_0110)
n10.rotatedRight(4)
XCTAssertEqual(n10, Int8(0b0110_0111))
}
}

0 comments on commit 333dbe3

Please sign in to comment.