43 lines
904 B
C#
43 lines
904 B
C#
// This file was auto-generated based on version 1.1.1 of the canonical data.
|
|
|
|
using Xunit;
|
|
using System;
|
|
|
|
public class CollatzConjectureTest
|
|
{
|
|
[Fact]
|
|
public void Zero_steps_for_one()
|
|
{
|
|
Assert.Equal(0, CollatzConjecture.Steps(1));
|
|
}
|
|
|
|
[Fact]
|
|
public void Divide_if_even()
|
|
{
|
|
Assert.Equal(4, CollatzConjecture.Steps(16));
|
|
}
|
|
|
|
[Fact]
|
|
public void Even_and_odd_steps()
|
|
{
|
|
Assert.Equal(9, CollatzConjecture.Steps(12));
|
|
}
|
|
|
|
[Fact]
|
|
public void Large_number_of_even_and_odd_steps()
|
|
{
|
|
Assert.Equal(152, CollatzConjecture.Steps(1000000));
|
|
}
|
|
|
|
[Fact]
|
|
public void Zero_is_an_error()
|
|
{
|
|
Assert.Throws<ArgumentException>(() => CollatzConjecture.Steps(0));
|
|
}
|
|
|
|
[Fact]
|
|
public void Negative_value_is_an_error()
|
|
{
|
|
Assert.Throws<ArgumentException>(() => CollatzConjecture.Steps(-15));
|
|
}
|
|
} |