コード例 #1
0
        public void Should_Create_Orbital_Map()
        {
            var factory = new OrbitalMapFactory();

            factory.AddOrbit("B").Around("A");
            factory.AddOrbit("C").Around("B");

            var map = factory.Build();

            map.Should().NotBeNull();
        }
コード例 #2
0
        public int Object_Should_Calculate_Number_Of_Orbits(string orbitalObjectName)
        {
            var factory = new OrbitalMapFactory();

            factory.AddOrbit("B").Around("A");
            factory.AddOrbit("C").Around("B");
            factory.AddOrbit("D").Around("C");

            var orbitalObject = factory.Get(orbitalObjectName);

            return(orbitalObject.GetNumberOfOrbits());
        }
コード例 #3
0
        public int Should_Calculate_Minimum_Path_Distance(string data)
        {
            var orbits  = data.Split(',');
            var factory = new OrbitalMapFactory();

            foreach (var orbit in orbits)
            {
                var objs = orbit.Split(')');

                factory.AddOrbit(objs[1]).Around(objs[0]);
            }

            var map = factory.Build();

            return(map.FindNumberTransfers("YOU", "SAN"));
        }
コード例 #4
0
        public int Map_Should_Calculate_Orbital_Checksum(string data)
        {
            var orbits  = data.Split(',');
            var factory = new OrbitalMapFactory();

            foreach (var orbit in orbits)
            {
                var objs = orbit.Split(')');

                factory.AddOrbit(objs[1]).Around(objs[0]);
            }

            var map = factory.Build();

            return(map.OrbitalChecksum);
        }