Browse Source

implement function calculatorGetUserInput()

remotes/origin/feature/calculator-get-user-input
fdai7514 2 years ago
parent
commit
4c58ea6056
  1. 101
      project.yml
  2. 20
      src/calculatorGetUserInput.c
  3. 8
      src/calculatorGetUserInput.h
  4. 10
      src/main.c
  5. 0
      tests/support/.gitkeep
  6. 20
      tests/test_calculatorGetUserInput.c

101
project.yml

@ -0,0 +1,101 @@
---
# Notes:
# Sample project C code is not presently written to produce a release artifact.
# As such, release build options are disabled.
# This sample, therefore, only demonstrates running a collection of unit tests.
:project:
:use_exceptions: FALSE
:use_test_preprocessor: TRUE
:use_auxiliary_dependencies: TRUE
:build_root: build
# :release_build: TRUE
:test_file_prefix: test_
:which_ceedling: gem
:ceedling_version: 0.31.1
:default_tasks:
- test:all
#:test_build:
# :use_assembly: TRUE
#:release_build:
# :output: MyApp.out
# :use_assembly: FALSE
:environment:
:extension:
:executable: .out
:paths:
:test:
- +:tests/**
- -:tests/support
:source:
- src/**
:support:
- tests/support
:libraries: []
:defines:
# in order to add common defines:
# 1) remove the trailing [] from the :common: section
# 2) add entries to the :common: section (e.g. :test: has TEST defined)
:common: &common_defines []
:test:
- *common_defines
- TEST
:test_preprocess:
- *common_defines
- TEST
:cmock:
:mock_prefix: mock_
:when_no_prototypes: :warn
:enforce_strict_ordering: TRUE
:plugins:
- :ignore
- :callback
:treat_as:
uint8: HEX8
uint16: HEX16
uint32: UINT32
int8: INT8
bool: UINT8
# Add -gcov to the plugins list to make sure of the gcov plugin
# You will need to have gcov and gcovr both installed to make it work.
# For more information on these options, see docs in plugins/gcov
:gcov:
:reports:
- HtmlDetailed
:gcovr:
:html_medium_threshold: 75
:html_high_threshold: 90
#:tools:
# Ceedling defaults to using gcc for compiling, linking, etc.
# As [:tools] is blank, gcc will be used (so long as it's in your system path)
# See documentation to configure a given toolchain for use
# LIBRARIES
# These libraries are automatically injected into the build process. Those specified as
# common will be used in all types of builds. Otherwise, libraries can be injected in just
# tests or releases. These options are MERGED with the options in supplemental yaml files.
:libraries:
:placement: :end
:flag: "-l${1}"
:path_flag: "-L ${1}"
:system: [] # for example, you might list 'm' to grab the math library
:test: []
:release: []
:plugins:
:load_paths:
- "#{Ceedling.load_path}"
:enabled:
- stdout_pretty_tests_report
- module_generator
...

20
src/calculatorGetUserInput.c

@ -0,0 +1,20 @@
#include "calculatorGetUserInput.h"
int allowOnly()
{
if( a == 1)
{
return 1;
}
}
void calculatorGetUserInput(float *x, float *y)
{
if (allowOnly() == 1)
{
printf("number1: ");
scanf("%f", x);
printf("number2: ");
scanf("%f", y);
}
}

8
src/calculatorGetUserInput.h

@ -0,0 +1,8 @@
#ifndef CALCULATORGETUSERINPUT_H
#define CALCULATORGETUSERINPUT_H
#include<stdio.h>
#include<stdlib.h>
void calculatorGetUserInput(float *x, float *y);
const int a = 1;
#endif // CALCULATORGETUSERINPUT_H

10
src/main.c

@ -1,4 +1,8 @@
#include <stdio.h>
int main(){
return 0;
#include "calculatorGetUserInput.c"
int main()
{
float userInput1, userInput2;
calculatorGetUserInput(&userInput1, &userInput2);
printf("Your inputs are %f and %f", userInput1, userInput2);
return 0;
} }

0
tests/support/.gitkeep

20
tests/test_calculatorGetUserInput.c

@ -0,0 +1,20 @@
#ifdef TEST
#include "unity.h"
#include "calculatorGetUserInput.h"
void setUp(void)
{
}
void tearDown(void)
{
}
void test_calculatorGetUserInput_NeedToImplement(void)
{
TEST_IGNORE_MESSAGE("Need to Implement calculatorGetUserInput");
}
#endif // TEST
Loading…
Cancel
Save