Sha256: 7b9149a6ef932de3e47aa795aab2ee33e7b5da6b1d32e7cfbdd5bbf57725d6cd

Contents?: true

Size: 1.54 KB

Versions: 163

Compression:

Stored size: 1.54 KB

Contents

#!/usr/bin/env ruby
gem 'minitest', '>= 5.0.0'
require 'minitest/autorun'
require_relative 'palindrome_products'

class PalindromesTest < Minitest::Test
  def test_largest_palindrome_from_single_digit_factors
    palindromes = Palindromes.new(max_factor: 9)
    palindromes.generate
    largest = palindromes.largest
    assert_equal 9, largest.value
    assert_includes [[[3, 3], [1, 9]], [[1, 9], [3, 3]]], largest.factors
  end

  def test_largest_palindrome_from_double_digit_factors
    skip
    palindromes = Palindromes.new(max_factor: 99, min_factor: 10)
    palindromes.generate
    largest = palindromes.largest
    assert_equal 9009, largest.value
    assert_equal [[91, 99]], largest.factors
  end

  def test_smallest_palindrome_from_double_digit_factors
    skip
    palindromes = Palindromes.new(max_factor: 99, min_factor: 10)
    palindromes.generate
    smallest = palindromes.smallest
    assert_equal 121, smallest.value
    assert_equal [[11, 11]], smallest.factors
  end

  def test_largest_palindrome_from_triple_digit_factors
    skip
    palindromes = Palindromes.new(max_factor: 999, min_factor: 100)
    palindromes.generate
    largest = palindromes.largest
    assert_equal 906_609, largest.value
    assert_equal [[913, 993]], largest.factors
  end

  def test_smallest_palindrome_from_triple_digit_factors
    skip
    palindromes = Palindromes.new(max_factor: 999, min_factor: 100)
    palindromes.generate
    smallest = palindromes.smallest
    assert_equal 10_201, smallest.value
    assert_equal [[101, 101]], smallest.factors
  end
end

Version data entries

163 entries across 163 versions & 1 rubygems

Version Path
trackler-2.1.0.7 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.1.0.6 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.1.0.5 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.1.0.4 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.1.0.3 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.1.0.2 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.1.0.1 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.1.0.0 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.55 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.54 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.53 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.52 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.51 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.50 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.49 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.48 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.47 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.46 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.45 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb
trackler-2.0.8.44 tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb