public void ShouldGenerateCorrectString()
        {
            var cypherDate    = new CypherDate(1947, 12, 17);
            var cypherDateStr = cypherDate.ToString();

            cypherDateStr.Should().Be($"Date{{epochDays: {cypherDate.EpochDays}}}");
        }
        public void ShouldNotBeEqual()
        {
            var date1 = new CypherDate(1947, 12, 17);
            var date2 = new CypherDate(new DateTime(1947, 12, 18));

            date1.Equals(date2).Should().BeFalse();
        }
        public void ShouldCreateDateWithRawValues()
        {
            var date       = new DateTime(1947, 12, 17);
            var cypherDate = new CypherDate((long)date.Subtract(new DateTime(1970, 1, 1)).TotalDays);

            cypherDate.ToDateTime().Should().Be(date);
        }
        public void ShouldCreateDateWithDateTime()
        {
            var date       = new DateTime(1947, 12, 17);
            var cypherDate = new CypherDate(date);

            cypherDate.ToDateTime().Should().Be(date);
        }
        public void ShouldNotBeEqualToNull()
        {
            var date  = new CypherDate(1947, 12, 17);
            var other = (object)null;

            date.Equals(other).Should().BeFalse();
        }
        public void ShouldNotBeEqualToAnotherType()
        {
            var date  = new CypherDate(1947, 12, 17);
            var other = "some string";

            date.Equals(other).Should().BeFalse();
        }
        public void ShouldGenerateDifferentHashcode()
        {
            var date1 = new CypherDate(1947, 12, 18);
            var date2 = new CypherDate(new DateTime(1947, 12, 17));
            var date3 = new CypherDate(-8052);

            date1.GetHashCode().Should().NotBe(date2.GetHashCode()).And.NotBe(date3.GetHashCode());
        }
        public void ShouldGenerateSameHashcode()
        {
            var date1 = new CypherDate(1947, 12, 17);
            var date2 = new CypherDate(new DateTime(1947, 12, 17));
            var date3 = new CypherDate(-8051);

            date1.GetHashCode().Should().Be(date2.GetHashCode()).And.Be(date3.GetHashCode());
        }
Beispiel #9
0
        public void ShouldSendAndReceiveDate()
        {
            var data = new CypherDate(1976, 6, 13);

            TestSendAndReceiveData(
                "CYPHER runtime = interpreted WITH $x AS x RETURN x, x.year, x.month, x.day",
                data,
                new object[]
            {
                data,
                1976L,
                6L,
                13L
            });
        }
Beispiel #10
0
        public void ShouldWriteDate()
        {
            var date          = new CypherDate(1950, 8, 31);
            var writerMachine = CreateWriterMachine();
            var writer        = writerMachine.Writer();

            writer.Write(date);

            var readerMachine = CreateReaderMachine(writerMachine.GetOutput());
            var reader        = readerMachine.Reader();

            reader.PeekNextType().Should().Be(PackStream.PackType.Struct);
            reader.ReadStructHeader().Should().Be(1);
            reader.ReadStructSignature().Should().Be((byte)'D');
            reader.Read().Should().Be(date.EpochDays);
        }
        public void ShouldCreateDateWithDateTimeComponents()
        {
            var cypherDate = new CypherDate(1947, 12, 17);

            cypherDate.ToDateTime().Should().Be(new DateTime(1947, 12, 17));
        }