main
1using System;
2using mars.rover.common;
3using mars.rover.domain;
4
5namespace mars.rover.presentation.model
6{
7 public class Navigation : Specification<char>, ParameterizedCommand<Rover>
8 {
9 readonly char command_text;
10 readonly Action<Rover> navigation;
11
12 public Navigation(char command_text, Action<Rover> navigation)
13 {
14 this.command_text = command_text;
15 this.navigation = navigation;
16 }
17
18 public virtual void run_against(Rover rover)
19 {
20 navigation(rover);
21 }
22
23 public virtual bool is_satisfied_by(char item)
24 {
25 return char.ToUpperInvariant(command_text).Equals(char.ToUpperInvariant(item));
26 }
27 }
28}