Exemple #1
0
        public void ShouldCreateDateTimeWithDateTime()
        {
            var dateTime       = new DateTime(1947, 12, 17, 23, 49, 54, 120, DateTimeKind.Local);
            var cypherDateTime = new CypherDateTime(dateTime);

            cypherDateTime.ToDateTime().Should().Be(dateTime);
        }
Exemple #2
0
        public void ShouldBeEqual()
        {
            var dateTime1 = new CypherDateTime(1947, 12, 17, 15, 12, 01, 789000000);
            var dateTime2 = new CypherDateTime(new DateTime(1947, 12, 17, 15, 12, 01, 789, DateTimeKind.Local));

            dateTime1.Equals(dateTime2).Should().BeTrue();
        }
Exemple #3
0
        public void ShouldNotBeEqualToNull()
        {
            var dateTime = new CypherDateTime(1947, 12, 17, 15, 12, 01, 789000000);
            var other    = (object)null;

            dateTime.Equals(other).Should().BeFalse();
        }
Exemple #4
0
        public void ShouldNotBeEqualToAnotherType()
        {
            var dateTime = new CypherDateTime(1947, 12, 17, 15, 12, 01, 789000000);
            var other    = "some string";

            dateTime.Equals(other).Should().BeFalse();
        }
Exemple #5
0
        public void ShouldNotBeEqual()
        {
            var dateTime1 = new CypherDateTime(1947, 12, 17, 15, 12, 01, 789000000);
            var dateTime2 = new CypherDateTime(new DateTime(1947, 12, 17, 15, 12, 01, 788));

            dateTime1.Equals(dateTime2).Should().BeFalse();
        }
Exemple #6
0
        public void ShouldGenerateDifferentHashcode()
        {
            var dateTime1 = new CypherDateTime(1947, 12, 17, 15, 12, 01, 789000000);
            var dateTime2 = new CypherDateTime(new DateTime(1947, 12, 17, 15, 12, 01, 790));
            var dateTime3 = new CypherDateTime(-695551678, 788000000);

            dateTime1.GetHashCode().Should().NotBe(dateTime2.GetHashCode()).And.NotBe(dateTime3.GetHashCode());
        }
Exemple #7
0
        public void ShouldGenerateSameHashcode()
        {
            var dateTime1 = new CypherDateTime(1947, 12, 17, 15, 12, 01, 789000000);
            var dateTime2 = new CypherDateTime(new DateTime(1947, 12, 17, 15, 12, 01, 789, DateTimeKind.Local));
            var dateTime3 = new CypherDateTime(-695551679, 789000000);

            dateTime1.GetHashCode().Should().Be(dateTime2.GetHashCode()).And.Be(dateTime3.GetHashCode());
        }
Exemple #8
0
        public void ShouldCreateDateTimeWithRawValues()
        {
            var dateTime       = new DateTime(1947, 12, 17, 23, 49, 54).AddTicks(1927945);
            var cypherDateTime = new CypherDateTime(TemporalHelpers.SecondsSinceEpoch(dateTime.Ticks),
                                                    TemporalHelpers.NanosOfSecond(dateTime.Ticks));

            cypherDateTime.ToDateTime().Should().Be(dateTime);
        }
Exemple #9
0
        public void ShouldGenerateCorrectString()
        {
            var cypherDateTime    = new CypherDateTime(1947, 12, 17, 23, 49, 54, 192794500);
            var cypherDateTimeStr = cypherDateTime.ToString();

            cypherDateTimeStr.Should()
            .Be(
                $"DateTime{{epochSeconds: {cypherDateTime.EpochSeconds}, nanosOfSecond: {cypherDateTime.NanosOfSecond}}}");
        }
        public void ShouldWriteDateTime()
        {
            var dateTime      = new CypherDateTime(1978, 12, 16, 12, 35, 59, 128000987);
            var writerMachine = CreateWriterMachine();
            var writer        = writerMachine.Writer();

            writer.Write(dateTime);

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

            reader.PeekNextType().Should().Be(PackStream.PackType.Struct);
            reader.ReadStructHeader().Should().Be(2);
            reader.ReadStructSignature().Should().Be((byte)'d');
            reader.Read().Should().Be(dateTime.EpochSeconds);
            reader.Read().Should().Be((long)dateTime.NanosOfSecond);
        }
Exemple #11
0
        public void ShouldSendAndReceiveDateTime()
        {
            var data = new CypherDateTime(1976, 6, 13, 12, 34, 56, 789012587);

            TestSendAndReceiveData(
                "CYPHER runtime=interpreted WITH $x AS x RETURN x, x.year, x.month, x.day, x.hour, x.minute, x.second, x.millisecond, x.microsecond, x.nanosecond",
                data,
                new object[]
            {
                data,
                1976L,
                6L,
                13L,
                12L,
                34L,
                56L,
                789L,
                789012L,
                789012587L
            });
        }
Exemple #12
0
        public void ShouldCreateDateTimeWithDateTimeComponentsWithNanoseconds()
        {
            var cypherDateTime = new CypherDateTime(1947, 12, 17, 23, 49, 54, 192794500);

            cypherDateTime.ToDateTime().Should().Be(new DateTime(1947, 12, 17, 23, 49, 54).AddTicks(1927945));
        }
Exemple #13
0
        public void ShouldCreateDateTimeWithDateTimeComponents()
        {
            var cypherDateTime = new CypherDateTime(1947, 12, 17, 23, 49, 54);

            cypherDateTime.ToDateTime().Should().Be(new DateTime(1947, 12, 17, 23, 49, 54));
        }