public void AsDates_SexpConstructedUsingConstructorOrMake_ReturnsSameSetOfDates() { // Arrange var dates1 = new DateTime( 1953 , 10 , 12 ); var dates2 = new[] { new DateTime( 1970 , 1 , 1 ) , new DateTime( 1970 , 1 , 2 ) , new DateTime( 1970 , 1 , 3 ) , new DateTime( 2012 , 10 , 12 ) , new DateTime( 1953 , 10 , 12 ) }; var dates3 = new DateTime[] { }; var dates4 = new[] { 0 , 1 , 2 , 15625 , -5925 }; // Act Sexp sexp1A = Sexp.Make( dates1 ); Sexp sexp1B = new SexpArrayDate( dates1 ); Sexp sexp2A = Sexp.Make( dates2 ); Sexp sexp2B = new SexpArrayDate( dates2 ); Sexp sexp3A = Sexp.Make( dates3 ); Sexp sexp3B = new SexpArrayDate( dates3 ); Sexp sexp4 = new SexpArrayDate( dates4 ); // Assert Assert.Equal( new [] { dates1 } , sexp1A.AsDates ); Assert.Equal( new[] { dates1 } , sexp1B.AsDates ); Assert.Equal( dates2 , sexp2A.AsDates ); Assert.Equal( dates2 , sexp2B.AsDates ); Assert.Equal( dates3 , sexp3A.AsDates ); Assert.Equal( dates3 , sexp3B.AsDates ); Assert.Equal( dates2 , sexp4.AsDates ); }
public void AsDates_SexpConstructedUsingConstructorOrMake_ReturnsSameSetOfDates() { // Arrange var dates1 = new DateTime(1953, 10, 12); var dates2 = new[] { new DateTime(1970, 1, 1), new DateTime(1970, 1, 2), new DateTime(1970, 1, 3), new DateTime(2012, 10, 12), new DateTime(1953, 10, 12) }; var dates3 = new DateTime[] { }; var dates4 = new[] { 0, 1, 2, 15625, -5925 }; // Act Sexp sexp1A = Sexp.Make(dates1); Sexp sexp1B = new SexpArrayDate(dates1); Sexp sexp2A = Sexp.Make(dates2); Sexp sexp2B = new SexpArrayDate(dates2); Sexp sexp3A = Sexp.Make(dates3); Sexp sexp3B = new SexpArrayDate(dates3); Sexp sexp4 = new SexpArrayDate(dates4); // Assert Assert.Equal(new [] { dates1 }, sexp1A.AsDates); Assert.Equal(new[] { dates1 }, sexp1B.AsDates); Assert.Equal(dates2, sexp2A.AsDates); Assert.Equal(dates2, sexp2B.AsDates); Assert.Equal(dates3, sexp3A.AsDates); Assert.Equal(dates3, sexp3B.AsDates); Assert.Equal(dates2, sexp4.AsDates); }
public void Indexer_SetIndexOutOfRange_ThrowsArgumentOutOfRangeException() { // Arrange var sexp1 = new SexpArrayDate(new DateTime(2004, 01, 23)); var sexp2 = new SexpArrayDate(new[] { new DateTime(2004, 01, 23), new DateTime(2005, 01, 23), new DateTime(2007, 03, 12) }); // Act & Assert Assert.Throws <ArgumentOutOfRangeException>(() => sexp1[4] = new SexpArrayDate(new DateTime(2005, 02, 03))); Assert.Throws <ArgumentOutOfRangeException>(() => sexp2[5] = new SexpArrayDate(new DateTime(2005, 02, 03))); }
public void Indexer_SetWithNonSexpArrayDate_ThrowsNotSupportedException() { // Arrange var sexp1 = new SexpArrayDate(new DateTime(2004, 01, 23)); var sexp2 = new SexpArrayDate(new[] { new DateTime(2004, 01, 23), new DateTime(2005, 01, 23), new DateTime(2007, 03, 12) }); // Act & Assert Assert.Throws <NotSupportedException>(() => sexp1[0] = new SexpArrayBool(false)); Assert.Throws <NotSupportedException>(() => sexp2[0] = new SexpArrayString("asdf")); }
public void AsDate_ArrayContainsOneDate_ReturnsTheDate() { // Arrange var day = new DateTime(2012, 02, 23); Sexp sexp1 = new SexpArrayDate(day); Sexp sexp2 = new SexpArrayDate(new [] { day }); // Act & Assert Assert.Equal(day, sexp1.AsDate); Assert.Equal(day, sexp2.AsDate); }
public void Indexer_Get_ReturnsSexpWithExpectedDate() { // Arrange var sexp1 = new SexpArrayDate(new DateTime(2004, 01, 23)); var sexp2 = new SexpArrayDate(new [] { new DateTime(2004, 01, 23), new DateTime(2005, 01, 23), new DateTime(2007, 03, 12) }); // Act & Assert Assert.Equal(new DateTime(2004, 01, 23), sexp1[0].AsDate); Assert.Equal(new DateTime(2004, 01, 23), sexp2[0].AsDate); Assert.Equal(new DateTime(2005, 01, 23), sexp2[1].AsDate); Assert.Equal(new DateTime(2007, 03, 12), sexp2[2].AsDate); }
public void Constructor_AllOverloads_ProperlyStoresDatesAsInts() { // Arrange var dates2A = new DateTime(1970, 1, 1); var dates2B = new DateTime(1970, 1, 2); var dates2C = new DateTime(1969, 12, 31); var dates2D = new DateTime(2012, 10, 12); var dates2E = new DateTime(1953, 10, 12); var dates3A = new DateTime[] { }; var dates3B = new[] { new DateTime(1970, 1, 3) }; var dates3C = new[] { new DateTime(1969, 12, 31), new DateTime(1970, 1, 1), new DateTime(1970, 1, 2), new DateTime(1970, 1, 3), new DateTime(2012, 10, 12), new DateTime(1953, 10, 12) }; var dates4A = new int[] { }; var dates4B = new[] { 0 }; var dates4C = new[] { -1, 0, 1 }; // Act Sexp sexp1 = new SexpArrayDate(); Sexp sexp2A = new SexpArrayDate(dates2A); Sexp sexp2B = new SexpArrayDate(dates2B); Sexp sexp2C = new SexpArrayDate(dates2C); Sexp sexp2D = new SexpArrayDate(dates2D); Sexp sexp2E = new SexpArrayDate(dates2E); Sexp sexp3A = new SexpArrayDate(dates3A); Sexp sexp3B = new SexpArrayDate(dates3B); Sexp sexp3C = new SexpArrayDate(dates3C); Sexp sexp4A = new SexpArrayDate(dates4A); Sexp sexp4B = new SexpArrayDate(dates4B); Sexp sexp4C = new SexpArrayDate(dates4C); // Assert Assert.Equal(new int[] { }, sexp1.AsInts); Assert.Equal(new[] { 0 }, sexp2A.AsInts); Assert.Equal(new[] { 1 }, sexp2B.AsInts); Assert.Equal(new[] { -1 }, sexp2C.AsInts); Assert.Equal(new[] { 15625 }, sexp2D.AsInts); Assert.Equal(new[] { -5925 }, sexp2E.AsInts); Assert.Equal(new int[] { }, sexp3A.AsInts); Assert.Equal(new[] { 2 }, sexp3B.AsInts); Assert.Equal(new[] { -1, 0, 1, 2, 15625, -5925 }, sexp3C.AsInts); Assert.Equal(dates4A, sexp4A.AsInts); Assert.Equal(dates4B, sexp4B.AsInts); Assert.Equal(dates4C, sexp4C.AsInts); }
public void AsDate_ArrayContainsNoDatesOrMoreThanOneDate_ThrowsNotSupportedExeption() { // Arrange var day1 = new DateTime( 2012 , 02 , 23 ); var day2 = new DateTime( 2012 , 04 , 23 ); Sexp sexp1 = new SexpArrayDate( ); Sexp sexp2 = new SexpArrayDate( new DateTime[] { } ); Sexp sexp3 = new SexpArrayDate( new [] { day1 , day2 } ); // Act & Assert Assert.Throws<NotSupportedException>( () => sexp1.AsDate ); Assert.Throws<NotSupportedException>( () => sexp2.AsDate ); Assert.Throws<NotSupportedException>( () => sexp3.AsDate ); }
public void AsDate_ArrayContainsNoDatesOrMoreThanOneDate_ThrowsNotSupportedExeption() { // Arrange var day1 = new DateTime(2012, 02, 23); var day2 = new DateTime(2012, 04, 23); Sexp sexp1 = new SexpArrayDate( ); Sexp sexp2 = new SexpArrayDate(new DateTime[] { }); Sexp sexp3 = new SexpArrayDate(new [] { day1, day2 }); // Act & Assert Assert.Throws <NotSupportedException>(() => sexp1.AsDate); Assert.Throws <NotSupportedException>(() => sexp2.AsDate); Assert.Throws <NotSupportedException>(() => sexp3.AsDate); }
public void Indexer_Set_ReplacesExistingDate() { // Arrange var sexp1 = new SexpArrayDate(new DateTime(2004, 01, 23)); var sexp2A = new SexpArrayDate(new[] { new DateTime(2004, 01, 23), new DateTime(2005, 01, 23), new DateTime(2007, 03, 12) }); var sexp2B = new SexpArrayDate(new[] { new DateTime(2004, 01, 23), new DateTime(2005, 01, 23), new DateTime(2007, 03, 12) }); // Act sexp1[0] = new SexpArrayDate(new DateTime(2005, 02, 03)); sexp2A[1] = new SexpArrayDate(new DateTime(2005, 02, 03)); sexp2B[2] = new SexpArrayDate(new DateTime(2007, 02, 03)); // Assert Assert.Equal(new DateTime(2005, 02, 03), sexp1.AsDate); Assert.Equal(new[] { new DateTime(2004, 01, 23), new DateTime(2005, 02, 03), new DateTime(2007, 03, 12) }, sexp2A.AsDates); Assert.Equal(new[] { new DateTime(2004, 01, 23), new DateTime(2005, 01, 23), new DateTime(2007, 02, 03) }, sexp2B.AsDates); }
public void AsDate_ArrayContainsOneDate_ReturnsTheDate() { // Arrange var day = new DateTime( 2012 , 02 , 23 ); Sexp sexp1 = new SexpArrayDate( day ); Sexp sexp2 = new SexpArrayDate( new [] { day } ); // Act & Assert Assert.Equal( day , sexp1.AsDate ); Assert.Equal( day , sexp2.AsDate ); }
public void Indexer_Set_ReplacesExistingDate() { // Arrange var sexp1 = new SexpArrayDate( new DateTime( 2004 , 01 , 23 ) ); var sexp2A = new SexpArrayDate( new[] { new DateTime( 2004 , 01 , 23 ) , new DateTime( 2005 , 01 , 23 ) , new DateTime( 2007 , 03 , 12 ) } ); var sexp2B = new SexpArrayDate( new[] { new DateTime( 2004 , 01 , 23 ) , new DateTime( 2005 , 01 , 23 ) , new DateTime( 2007 , 03 , 12 ) } ); // Act sexp1[ 0 ] = new SexpArrayDate( new DateTime( 2005 , 02 , 03 ) ); sexp2A[ 1 ] = new SexpArrayDate( new DateTime( 2005 , 02 , 03 ) ); sexp2B[ 2 ] = new SexpArrayDate( new DateTime( 2007 , 02 , 03 ) ); // Assert Assert.Equal( new DateTime( 2005 , 02 , 03 ) , sexp1.AsDate ); Assert.Equal( new[] { new DateTime( 2004 , 01 , 23 ) , new DateTime( 2005 , 02 , 03 ) , new DateTime( 2007 , 03 , 12 ) } , sexp2A.AsDates ); Assert.Equal( new[] { new DateTime( 2004 , 01 , 23 ) , new DateTime( 2005 , 01 , 23 ) , new DateTime( 2007 , 02 , 03 ) } , sexp2B.AsDates ); }
public void Indexer_SetWithNonSexpArrayDate_ThrowsNotSupportedException() { // Arrange var sexp1 = new SexpArrayDate( new DateTime( 2004 , 01 , 23 ) ); var sexp2 = new SexpArrayDate( new[] { new DateTime( 2004 , 01 , 23 ) , new DateTime( 2005 , 01 , 23 ) , new DateTime( 2007 , 03 , 12 ) } ); // Act & Assert Assert.Throws<NotSupportedException>( () => sexp1[ 0 ] = new SexpArrayBool( false ) ); Assert.Throws<NotSupportedException>( () => sexp2[ 0 ] = new SexpArrayString( "asdf" ) ); }
public void Indexer_SetIndexOutOfRange_ThrowsArgumentOutOfRangeException() { // Arrange var sexp1 = new SexpArrayDate( new DateTime( 2004 , 01 , 23 ) ); var sexp2 = new SexpArrayDate( new[] { new DateTime( 2004 , 01 , 23 ) , new DateTime( 2005 , 01 , 23 ) , new DateTime( 2007 , 03 , 12 ) } ); // Act & Assert Assert.Throws<ArgumentOutOfRangeException>( () => sexp1[ 4 ] = new SexpArrayDate( new DateTime( 2005 , 02 , 03 ) ) ); Assert.Throws<ArgumentOutOfRangeException>( () => sexp2[ 5 ] = new SexpArrayDate( new DateTime( 2005 , 02 , 03 ) ) ); }
public void Indexer_Get_ReturnsSexpWithExpectedDate() { // Arrange var sexp1 = new SexpArrayDate( new DateTime( 2004 , 01 , 23 ) ); var sexp2 = new SexpArrayDate( new [] { new DateTime( 2004 , 01 , 23 ) , new DateTime( 2005 , 01 , 23 ) , new DateTime( 2007 , 03 , 12 ) } ); // Act & Assert Assert.Equal( new DateTime( 2004 , 01 , 23 ) , sexp1[ 0 ].AsDate ); Assert.Equal( new DateTime( 2004 , 01 , 23 ) , sexp2[ 0 ].AsDate ); Assert.Equal( new DateTime( 2005 , 01 , 23 ) , sexp2[ 1 ].AsDate ); Assert.Equal( new DateTime( 2007 , 03 , 12 ) , sexp2[ 2 ].AsDate ); }
public void Constructor_AllOverloads_ProperlyStoresDatesAsInts() { // Arrange var dates2A = new DateTime( 1970 , 1 , 1 ); var dates2B = new DateTime( 1970 , 1 , 2 ); var dates2C = new DateTime( 1969 , 12 , 31 ); var dates2D = new DateTime( 2012 , 10 , 12 ); var dates2E = new DateTime( 1953 , 10 , 12 ); var dates3A = new DateTime[] { }; var dates3B = new[] { new DateTime( 1970 , 1 , 3 ) }; var dates3C = new[] { new DateTime( 1969 , 12 , 31 ) , new DateTime( 1970 , 1 , 1 ) , new DateTime( 1970 , 1 , 2 ) , new DateTime( 1970 , 1 , 3 ) , new DateTime( 2012 , 10 , 12 ) , new DateTime( 1953 , 10 , 12 ) }; var dates4A = new int[] { }; var dates4B = new[] { 0 }; var dates4C = new[] { -1 , 0 , 1 }; // Act Sexp sexp1 = new SexpArrayDate(); Sexp sexp2A = new SexpArrayDate( dates2A ); Sexp sexp2B = new SexpArrayDate( dates2B ); Sexp sexp2C = new SexpArrayDate( dates2C ); Sexp sexp2D = new SexpArrayDate( dates2D ); Sexp sexp2E = new SexpArrayDate( dates2E ); Sexp sexp3A = new SexpArrayDate( dates3A ); Sexp sexp3B = new SexpArrayDate( dates3B ); Sexp sexp3C = new SexpArrayDate( dates3C ); Sexp sexp4A = new SexpArrayDate( dates4A ); Sexp sexp4B = new SexpArrayDate( dates4B ); Sexp sexp4C = new SexpArrayDate( dates4C ); // Assert Assert.Equal( new int[] { } , sexp1.AsInts ); Assert.Equal( new[] { 0 } , sexp2A.AsInts ); Assert.Equal( new[] { 1 } , sexp2B.AsInts ); Assert.Equal( new[] { -1 } , sexp2C.AsInts ); Assert.Equal( new[] { 15625 } , sexp2D.AsInts ); Assert.Equal( new[] { -5925 } , sexp2E.AsInts ); Assert.Equal( new int[] { } , sexp3A.AsInts ); Assert.Equal( new[] { 2 } , sexp3B.AsInts ); Assert.Equal( new[] { -1 , 0 , 1 , 2 , 15625 , -5925 } , sexp3C.AsInts ); Assert.Equal( dates4A , sexp4A.AsInts ); Assert.Equal( dates4B , sexp4B.AsInts ); Assert.Equal( dates4C , sexp4C.AsInts ); }